Skip to content

lion098/task_manager_api

Repository files navigation

Task Manager REST API

A backend REST API built with Django REST Framework and PostgreSQL for managing personal tasks with JWT authentication.


Features

- User Registration
- JWT Authentication
- Refresh Token Authentication
- Create Tasks
- Update Tasks
- Delete Tasks
- Task Filtering
- Task Searching
- Task Ordering
- Pagination
- Swagger API Documentation

Tech Stack

- Python
- Django
- Django REST Framework
- PostgreSQL
- Simple JWT
- drf-spectacular
- Postman

API Endpoints

Authentication

Method Endpoint Description
POST /api/register/ Register User
POST /api/token/ Get JWT Token
POST /api/token/refresh/ Refresh Access Token

Tasks

Method Endpoint Description
GET /api/tasks/ Get Tasks
POST /api/tasks/ Create Task
GET /api/tasks/{id}/ Get Single Task
PUT /api/tasks/{id}/ Update Task
DELETE /api/tasks/{id}/ Delete Task

Filtering Examples

/api/tasks/?status=pending
/api/tasks/?priority=high
/api/tasks/?search=django
/api/tasks/?ordering=-created_at

Swagger Documentation

Swagger UI:

http://127.0.0.1:8000/api/swagger

Postman Collection

Postman collection is included in the project root directory:

Task_Manager_API.postman_collection.json

Screenshots

Swagger Home

Swagger Home

Swagger Authorized

Swagger Authorized

Postman Collection

Postman Collection

Create Task

Create Task

Filter Task

Filter Task


Installation

git clone https://github.com/lion098/task_manager_api.git

cd task_manager_api

python -m venv venv

venv\Scripts\activate

pip install -r requirements.txt

Run Server

python manage.py runserver

About

Django REST API for task management with JWT authentication, filtering, searching, ordering, pagination, and Swagger documentation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages