Skip to content

ajumishra5/task-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—‚ Task Management System (Django + DRF + JWT)

This is a full-stack Task Management System built using Django and Django REST Framework.

The project started as a regular Django web app (HTML + Bootstrap UI) and was later extended with a REST API using JWT authentication and rate limiting.

The main goal was to build something practical with proper structure β€” not just simple CRUD β€” but with role-based access, soft delete, filtering, pagination, and security basics.

πŸš€ Features πŸ” Authentication

Custom User Model (Email as username)

JWT Authentication (Access & Refresh tokens)

Login rate limiting (throttling)

Role-based access control

πŸ‘€ Users

Create, update, delete users

Role system (Admin / Manager / Employee / User)

/api/users/me/ endpoint

Soft delete support

πŸ“‹ Tasks

Create, update, delete tasks

Soft delete (no hard deletes)

Role-based task visibility

Assigned user can update task status

Pagination (UI + API)

Filtering by status & priority

Custom change_status API action

πŸ“Š Dashboard

Task statistics (total / pending / completed)

API endpoint for summary

πŸ›  Tech Stack

Python 3.12

Django

Django REST Framework

SimpleJWT

Bootstrap

SQLite

βš™οΈ Setup

Clone the repository:

git clone https://github.com/your-username/task-management-system.git cd task-management-system

Create virtual environment and install dependencies:

python -m venv venv venv\Scripts\activate pip install -r requirements.txt

Run migrations and start server:

python manage.py migrate python manage.py runserver πŸ”‘ API Authentication

Get JWT token:

POST /api/token/ { "email": "admin@example.com", "password": "yourpassword" }

Use in header:

Authorization: Bearer <access_token> πŸ“‘ Main API Endpoints Authentication

POST /api/token/

POST /api/token/refresh/

Users

GET /api/users/

POST /api/users/

GET /api/users//

PATCH /api/users//

DELETE /api/users//

GET /api/users/me/

Tasks

GET /api/tasks/

POST /api/tasks/

GET /api/tasks//

PATCH /api/tasks//

DELETE /api/tasks//

PATCH /api/tasks//change_status/

Dashboard

GET /api/dashboard/

πŸ“Œ Project Focus

Clean architecture

Custom authentication

Role-based access

Soft delete logic

Security basics (JWT + throttling)

Proper Git workflow

This project was built to strengthen backend fundamentals and simulate a real-world task management system.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors