Task Manager backend project built with Django and Django REST Framework, deployed on Vercel. The project now uses a clean Admin-only demo flow: one click logs into Demo Admin and opens Django Admin.
- App URL:
https://task-management-system-izdeb35vg-maloth-sridhar-varmas-projects.vercel.app/ - Admin demo login:
GET /api/auth/demo-admin/
- Python 3.12
- Django 6
- Django REST Framework
- SimpleJWT (
djangorestframework-simplejwt) django-filter- PostgreSQL (Neon)
- WhiteNoise (static files on Vercel)
- Vercel deployment
task-manager-django/
accounts/
urls.py
views.py
serializers.py
config/
settings.py
urls.py
tasks/
models.py
views.py
serializers.py
urls.py
management/commands/send_due_task_reminders.py
requirements.txt
vercel.json
manage.py
id(PK)user_id(FK -> auth_user)titledescriptionstatus(todo,in_progress,done)priority(low,medium,high)due_dateattachmentreminder_sentcreated_atupdated_at
id(PK)task_id(FK -> tasks_task)user_id(FK -> auth_user)commentcreated_at
token_blacklist_outstandingtokentoken_blacklist_blacklistedtoken
POST /api/auth/register/- Register userPOST /api/auth/login/- Login and get access/refresh tokensPOST /api/auth/refresh/- Refresh access tokenPOST /api/auth/logout/- Blacklist refresh tokenGET /api/auth/demo-admin/- Session login as Demo Admin and redirect to/admin/
GET /api/tasks/- List current user tasksPOST /api/tasks/- Create taskGET /api/tasks/{id}/- Task detailsPUT/PATCH /api/tasks/{id}/- Update taskDELETE /api/tasks/{id}/- Delete taskGET /api/tasks/dashboard/- Dashboard analytics
GET /api/tasks/comments/- List commentsPOST /api/tasks/comments/- Add commentGET /api/tasks/comments/{id}/- Comment detailsPUT/PATCH /api/tasks/comments/{id}/- Update commentDELETE /api/tasks/comments/{id}/- Delete comment
/api/tasks/?status=todo/api/tasks/?priority=high/api/tasks/?due_date=2026-04-22/api/tasks/?search=resume/api/tasks/?ordering=due_date
git clone https://github.com/Sridharon5/Task-Management-System.git
cd Task-Management-System
python -m venv .venvWindows:
.\.venv\Scripts\Activate.ps1Install dependencies:
pip install -r requirements.txtRun migrations:
python manage.py migrateCreate admin:
python manage.py createsuperuserRun server:
python manage.py runserver- Open
/ - Click Login as Demo Admin
- Auto-login + redirect to
/admin/ - On admin logout, user is redirected back to
/
Send reminders for due/overdue tasks:
python manage.py send_due_task_reminders- Uses
vercel.jsonwith Django WSGI route - Static files are handled with WhiteNoise +
collectstatic - PostgreSQL is configured via database URL
- Ensure migrations are applied before testing demo flows
Current repo contains a hardcoded database URL (for rapid submission/demo use). For production, move secrets to environment variables and rotate exposed credentials.
- Sridhar Varma
- GitHub: Sridharon5