Personal Project
2023Task Master
Course Capstone · CS50W
Task management web application with recurring daily, weekly, and monthly workflows, JWT-secured REST API, task history, timezone-based automatic resets, Swagger API documentation, interactive data tables, and Excel export.
Overview
Task management web application developed as a CS50W capstone project (2023). Features recurring daily, weekly, and monthly task workflows with timezone-aware automatic resets, a JWT-secured REST API, interactive data tables, and Excel export.
Context
CS50's Web Programming with Python and JavaScript — Capstone Project. Role: Full-Stack Developer. Year: Jul–Aug 2023.
Responsibilities
- Designed and implemented the Django REST Framework API with JWT authentication (djangorestframework-simplejwt).
- Built timezone-aware scheduled task reset logic for daily, weekly, and monthly task cycles.
- Integrated DataTables for server-side pagination, sorting, and filtering of task data.
- Implemented Excel export using openpyxl for task history reporting.
- Set up Swagger/OpenAPI documentation via drf-spectacular.
- Deployed to PythonAnywhere with a PostgreSQL backend.
Architecture
Django serves the frontend templates while DRF provides the API layer. Authentication is JWT-based with refresh token support. Scheduled task resets are triggered by Django management commands or cron, and DataTables connects to the DRF API for server-side data handling.
Technology Stack
Django · Django REST Framework · PostgreSQL · JWT · Swagger / OpenAPI · DataTables · Excel Export · Scheduled Task Reset