/todo-list

Primary LanguagePythonMIT LicenseMIT

Flask-Todolist

License Build Status

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.


CSS | Skeleton JS | jQuery

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.