/flask-todolist

exemplary flask application - small to-do list WebApp example

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! (Works with Python 2 and 3.)

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 virtualenv (maybe have a look at virtualenvwrapper), anyway here the commands you have to enter:

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.