A modern full-stack task management application built with FastAPI, SQLAlchemy, SQLite, and JWT Authentication. The system enables users to securely manage daily tasks, track progress, prioritize work, and monitor productivity through a clean dashboard and RESTful APIs.
Task-Management-System is designed to help users organize and manage tasks efficiently. The application provides secure authentication, task tracking, filtering, analytics, and user-specific data management.
The project demonstrates backend engineering concepts such as API development, database modeling, authentication, authorization, data validation, and productivity-focused application design.
- User Registration
- Secure Login System
- JWT Authentication
- OAuth2 Integration
- Password Hashing with Bcrypt
- Protected API Routes
- Create Tasks
- Update Tasks
- Delete Tasks
- View Individual Tasks
- Manage Task Status
- Priority Assignment (Low, Medium, High)
- Task Completion Tracking
- Progress Monitoring
- Task Search Functionality
- Advanced Filtering
- Pagination Support
- User-Specific Task Management
- Total Tasks Count
- Completed Tasks Count
- Pending Tasks Count
- In-Progress Tasks Count
- Completion Rate Calculation
| Category | Technologies |
|---|---|
| Backend | FastAPI |
| Database | SQLite |
| ORM | SQLAlchemy |
| Authentication | JWT, OAuth2 |
| Validation | Pydantic |
| Security | Passlib (Bcrypt) |
| Frontend | HTML, CSS, JavaScript |
| Templates | Jinja2 |
| Server | Uvicorn |
Task-Management-System/
│
├── static/
│ ├── css/
│ ├── js/
│ └── assets/
│
├── templates/
│ └── dashboard.html
│
├── main.py
├── README.md
├── pyproject.toml
└── uv.lock
| Field | Type |
|---|---|
| id | Integer |
| username | String |
| password | String |
| created_at | DateTime |
| Field | Type |
|---|---|
| id | Integer |
| title | String |
| description | String |
| status | String |
| priority | String |
| completed | Boolean |
| created_at | DateTime |
| updated_at | DateTime |
| user_id | Integer |
git clone https://github.com/yourusername/Task-Management-System.git
cd Task-Management-Systempython -m venv .venvActivate:
Windows
.venv\Scripts\activateLinux / Mac
source .venv/bin/activatepip install -r requirements.txtor
pip install fastapi uvicorn sqlalchemy python-jose passlib bcrypt jinja2 python-multipartStart the FastAPI server:
python main.pyor
uvicorn main:app --reloadOpen your browser:
http://localhost:8000
| Method | Endpoint | Description |
|---|---|---|
| POST | /register | Register User |
| POST | /token | Login & Generate JWT Token |
| Method | Endpoint |
|---|---|
| POST | /tasks/ |
| GET | /tasks/ |
| GET | /tasks/{id} |
| PUT | /tasks/{id} |
| DELETE | /tasks/{id} |
| GET | /tasks/stats/summary |
- Register a new account.
- Login and receive JWT access token.
- Create new tasks.
- Update task status and priority.
- Search and filter tasks.
- Track completion progress.
- View productivity statistics.
- FastAPI Application Development
- REST API Design
- JWT Authentication
- OAuth2 Security
- Database Modeling
- SQLAlchemy ORM
- User Authorization
- CRUD Operations
- Backend Architecture
- API Validation
- Secure Web Development
- Role-Based Access Control (RBAC)
- Email Notifications
- Task Reminders
- Calendar Integration
- Dark Mode UI
- Team Collaboration Features
- Docker Deployment
- PostgreSQL Support
- Real-Time Updates with WebSockets
- Cloud Deployment
Mahor Binish
Artificial Intelligence & Machine Learning Student
Oracle Certified Generative AI Professional
GitHub: https://github.com/M-Binish
LinkedIn: https://www.linkedin.com/in/mahor-binish-070572324
This project is licensed under the MIT License.
Feel free to fork, improve, and build upon this project.