A multi-user Task Management application built with Python using the Flask framework and MongoDB. This application allows users to create accounts, log in securely, and manage their own private list of tasks.
This project uses a Full Stack Python architecture:
- Backend: [Flask](For this I followed a youtube video of coding with sagar) (Python Microframework)
- Database: [MongoDB](NoSQL Database)
- Database Adapter: Flask-PyMongo I read just the documents for this
- Frontend: only used basic HTML
- Styling: styling is done by ai I just adjusted it according to my thoughts
- User Authentication:
- User Registration and Login.
- Session management using Flask Sessions.
- Route protection (users cannot access tasks without logging in).
- Task Management (CRUD):
- Create: Add new tasks.
- Read: View a list of tasks specific to the logged-in user.
- Update: Toggle tasks as "Done" or "Undo".
- Delete: Remove tasks permanently.
- Architecture:
- Uses Flask Blueprints (
auth_bpandtasks_bp) to separate authentication logic from application logic. - Relational Data: Tasks are linked to specific users via their unique MongoDB ObjectIds.
- Uses Flask Blueprints (
/project-root β βββ app/ β βββ init.py # App factory, DB configuration, Blueprint registration β βββ routes/ β β βββ auth.py # Login, Register, Logout logic β β βββ tasks.py # Task CRUD operations β βββ templates/ β βββ base.html # Master layout β βββ login.html # Login form β βββ register.html # Registration form β βββ tasks.html # Main dashboard