An open API service indexing awesome lists of open source software.

https://github.com/cmwaseemyousef/task-management-django

Django Task Management App with JWT Auth, Role-Based Access, and Completion Reports.
https://github.com/cmwaseemyousef/task-management-django

backend django jwt-authentication python rest-api task-management

Last synced: about 2 months ago
JSON representation

Django Task Management App with JWT Auth, Role-Based Access, and Completion Reports.

Awesome Lists containing this project

README

          

# Task Management Application

A Django-based task management system with task completion reporting functionality.

## Features

- User Authentication (JWT-based)
- Task Management with Completion Reports
- Role-based Access Control (SuperAdmin, Admin, User)
- Task Status Tracking (Pending, In Progress, Completed)
- Work Hours Tracking
- Task Completion Reports
- Admin Dashboard for SuperAdmins and Admins
- User Dashboard for Task Owners

## Requirements

- Python 3.8+
- Django 4.0+
- Django REST Framework
- djangorestframework-simplejwt
- SQLite (default)

## Installation

1. Create a virtual environment:
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```

2. Install dependencies:
```bash
pip install -r requirements.txt
```

3. Apply migrations:
```bash
python manage.py migrate
```

4. Create a superuser:
```bash
python manage.py createsuperuser
```

5. Run the development server:
```bash
python manage.py runserver
```

## API Endpoints

### Authentication
- POST /api/token/ - Obtain JWT token
- POST /api/token/refresh/ - Refresh JWT token

### Tasks
- GET /api/tasks/ - List all tasks (for SuperAdmin)
- GET /api/tasks/?assigned_to= - List tasks for specific user
- PUT /api/tasks// - Update task status and completion details
- GET /api/tasks//report/ - View completion report

## Usage

1. Log in as SuperAdmin to manage users and tasks
2. Log in as Admin to manage tasks and view reports
3. Log in as User to complete tasks and submit reports

## Security

- JWT authentication for all API endpoints
- Role-based access control
- Password hashing for user authentication
- CSRF protection for web forms

## Contributing

1. Fork the repository
2. Create your feature branch
3. Commit your changes
4. Push to the branch
5. Create a Pull Request

## ๐Ÿ“ธ Project Screenshots

### ๐Ÿ” Login Page
![Login](screenshots/Screenshot_5.jpg)

### ๐Ÿ“Š SuperAdmin Dashboard
![Dashboard](screenshots/Screenshot_3.1.jpg)
![Tasks and Users](screenshots/Screenshot_3.2.jpg)

### ๐Ÿ”‘ JWT Token Endpoint (DRF)
![Token](screenshots/Screenshot_4.1.jpg)

### ๐Ÿงช Token Test Form
![Token Test](screenshots/Screenshot_4.2.jpg)

### ๐Ÿšง Task API Endpoint
![Tasks API](screenshots/Screenshot_2.jpg)

### โš™๏ธ Django Admin Panel
![Admin](screenshots/Screenshot_1.jpg)