Flask-Todolist is a simple To Do List web application with the most basic features of most web apps, i.e. accounts/login, API and (somewhat) interactive UI.
I've also build a quite similar app in Django: https://github.com/polyfunc/django-todolist
Try it out! (Works with Python 2 and 3.)
Using docker-compose
you can simple run:
docker-compose build
docker-compose up
And the application will run on http://localhost:8000/
(It's serving the app using gunicorn which you would
use for deployment, instead of just running flask run
.)
If you prefer to run it directly on your local machine, I suggest using virtualenv (maybe have a look at virtualenvwrapper), anyway here the commands you have to enter:
pip install -r requirements.txt
export FLASK_APP=todolist.py
flask run
To add some 'play' data you can run
pip install -r test-requirements.txt
flask fill_db
Now you can browse the API: http://localhost:5000/api/users
Pick a user, login as the user. Default password after fill_db is correcthorsebatterystaple. Click around, there is not too much, but I like the overview under: http://localhost:5000/todolists (You must be logged in to see it.)
In the process of this project I used a couple of extensions.
Usage | Flask-Extension |
---|---|
Model & ORM | Flask-SQLAlchemy |
Migration | Flaks-Migrate |
Forms | Flask-WTF |
Login | Flask-Login |
Testing | Flask-Testing |
I tried out some more, but for the scope of this endeavor the above mentioned extensions sufficed.