Flask Todolist

screenshot of Flask Todolist
flask

exemplary flask application - small to-do list WebApp example

Overview:

Flask-Todolist is a simple To-Do List web application built using Flask. It offers basic features commonly found in web applications such as account creation/login, an API, and an interactive UI. The application uses CSS, Skeleton, JS, and jQuery to provide its functionality. It also has a similar version built in Django.

Features:

  • Accounts/Login: Users can create accounts and login to access the application.
  • API: Includes an API for interacting with the To-Do List data.
  • Interactive UI: Features a somewhat interactive user interface.
  • Model & ORM: Utilizes Flask-SQLAlchemy for modeling and ORM.
  • Migration: Implements Flaks-Migrate for database migration.
  • Forms: Uses Flask-WTF for form handling.
  • Login: Integrates Flask-Login for handling user authentication.
  • Testing: Utilizes Flask-Testing for testing purposes.

Docker:

docker-compose up

The application will run on http://localhost:8000/. It is served using Gunicorn which is suitable for deployment.

Manually:

  1. Set up a virtual environment:
python3 -m venv venv
source venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Add play data:
flask fill-db
  1. Browse the API at http://localhost:5000/api/users. The default password after running flask fill-db is 'correcthorsebatterystaple'.
  2. Explore the To-Do Lists overview at http://localhost:5000/todolists (requires login).

Summary:

Flask-Todolist is a straightforward To-Do List web application developed with Flask, providing essential features such as account management, an API, and a user-friendly interface. It leverages several Flask extensions for functionalities like modeling, database migration, form handling, user authentication, and testing. The application can be run using Docker or set up manually on a local machine, offering users a simple and efficient way to manage their tasks.

flask
Flask

Flask is a lightweight and popular web framework for Python, known for its simplicity and flexibility. It is widely used to build web applications, providing a minimalistic approach to web development with features like routing, templates, and support for extensions.