Skip to content

A micro MVC framework written in python and inspired by Laravel. Work in progress.

License

Notifications You must be signed in to change notification settings

dvanderweele/Cutesy_MVC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cutesy_MVC Framework

Template Repository available here.

Overview

Tentatively calling this project "Cutesy_MVC." I'll probably call the command-line utility component something masculine like "cutify." Taylor Otwell doesn't have anything on my ability to name things.

Literally developing this at least in the preliminary stages on Replit on my phone. Just would like to practice python when I have the time, and also would be cool if the end product was something useful to me.

Taking inspiration from a favorite project of mine: Laravel. Would also like to practice threading a bit, so my idea is to basically have a client-server model where the V of the MVC is on the main thread and the M and C of MVC are on a second thread. The View/User Interface library or system is really up to the user, this framework is agnostic. The Client module enables communication between a server thread (that runs most of the other framework systems) and the main thread where the UI lives. These components on the main thread will generate request objects that are sent via queue to the server thread, which eventually sends back a response object via another queue.

Obviously being a solo project that draws inspiration from a major project, I am not implementing all of the features of Laravel. For example, I am creating systems to migrate, query, and model data from SQLite, but I am not building support for any other database systems.

Tests

To run the framework's tests (i.e., not user-defined tests), run the project as a module from the directory above repo.

python -m Cutesy_MVC

Docs

Markdown formatted documentation files can be found in the docs folder.

Table of Contents

1 - Database Migrations

2 - Database Query Tools

3 - Cutify Command Line Utility

4 - The Cutesy ORM and Data Modeling

5 - Routing

6 - Controllers

7 - Client

8 - StringBuilder

9 - Testing

10 - UI State Store