A simple, modern ToDo List web app built with Flask, SQLAlchemy, and SQLite.
Features a stylish UI with theme toggle, persistent tasks in the database, and basic CRUD operations.
- Add, complete, and delete tasks
- Tasks are stored in a SQLite database
- Responsive, animated UI with light/dark theme toggle
- Uses Flask, Flask-SQLAlchemy, and Flask-Migrate
- Python 3.8+
- See requirements.txt for Python dependencies
-
Install dependencies:
pip install -r requirements.txt
-
Run the app:
python main.py
-
Open in browser:
Visit http://127.0.0.1:5000
main.py # Flask app and database models
requirements.txt # Python dependencies
templates/
index.html # Main HTML template
instance/
todo.db # SQLite database (auto-created)
migrations/ # Alembic migration scripts
- Add a task:
Enter text in the input and click ➕ or press Enter. - Complete a task:
Click the ✓ button next to a task. - Delete a task:
Click the 🗑️ button next to a task. - Toggle theme:
Click "Toggle Theme" at the top right.
- Uses SQLite (
todo.dbininstance/directory) - Tasks have fields:
id,content,created_at,completed
- Database migrations managed with Alembic/Flask-Migrate.
- Migration scripts are in migrations/versions/.
MIT License