A lightweight, personal task manager built with Flask, SQLite, and Flask-Login. Users can securely register, log in, and manage their own to-do list. Tasks are stored per user, with real-time status updates and progress tracking.
- ✅ User registration and secure login (passwords hashed with Werkzeug)
- 🔐 Per-user task isolation — each user sees only their tasks
- 📋 Add, complete, toggle, delete, and edit tasks
- 📈 Progress bar showing % of completed tasks
- 🎨 Clean, styled UI with dynamic feedback
- 🔓 Logout and session reset functionality
- 🧠 Personalized greeting based on the current time
| Tech | Purpose |
|---|---|
| Flask | Web framework |
| SQLite | Lightweight embedded database |
| Flask-Login | User authentication/session |
| Werkzeug | Password hashing |
| HTML + CSS | Frontend templates & styling |
| Jinja2 | Template rendering engine |
- User signs up with a unique username and password.
- After logging in, the user is greeted and redirected to their task dashboard.
- Tasks can be added, marked as complete/incomplete, edited, or deleted.
- The task list is user-specific and stored in a shared SQLite database.
- The progress bar dynamically shows the percentage of completed tasks.
- User can log out or reset their session at any time.
Clone the repository and run the app locally:
git clone https://github.com/yuss93/task-tracker-flask.git
cd task-tracker-flask
pip install -r requirements.txt
python app.py