Flask-Todolist
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/rtzll/django-todolist
Explore
Try it out!
Docker
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
.)
Manually
If you prefer to run it directly on your local machine, I suggest using venv.
pip install -r requirements.txt
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.)
Extensions
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.