Skip to content

A robust RESTful API built with Django REST Framework for managing projects, tasks, and user authentication. This API provides a comprehensive solution for project management with features like JWT authentication, nested resources, and proper error handling.

Notifications You must be signed in to change notification settings

centaurusgod/django_rest_project_management_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 

Repository files navigation

Project Management System

A robust Django-based project management system that allows efficient management of projects, tasks, and team collaboration.

Guidelines

Option 1: Setting up this project & automatic deployment of this project in amazon ec2 instance

For automated deployment of this project on an Amazon EC2 instance, you can follow the deployment script and instructions available at: Django Server Deployment Scripts

Option 2: Setting Up The Project in Local Server

1. Clone the Repository

git clone https://github.com/centaurusgod/django_rest_project_management_api.git
cd django_rest_project_management_api
cd project_management_system

2. Set Up Virtual Environment

# On Linux(debian based)
sudo apt install virtualenv
virtualenv venv
source venv/bin/activate
# OR
python -m venv venv
source venv/bin/activate  # On Linux/Mac
# OR
venv\Scripts\activate  # On Windows

3. Install Dependencies

pip install -r requirements.txt

4. Database Setup

python manage.py makemigrations
python manage.py migrate

5. Populate Database with Dummy Data

python techforing_pms/populate_db.py

6. Create Superuser

python manage.py createsuperuser

Use the following credentials:

7. Run Development Server

python manage.py runserver

API Documentation

Swagger Documentation Access

Access the Swagger API documentation at:

http://localhost:8000/api/docs/

Overview

Swagger API Documentation

Authentication Steps

Note: You need to login and get your access token to access the protected endpoints.

Public Endpoints (No Token Required):

  • GET /api/users/login/
  • POST /api/users/register/

Login Process

  1. Access the login endpoint:

    http://localhost:8000/api/users/login/
    
  2. Use these credentials:

    {
    "username": "user1",
    "password": "password123"
    }

    Sample User Login Credentials

Setting Up Authentication

  1. Copy the access token from the response: Copy The Access Token

  2. Authorize in Swagger UI: Authorize The Access Token

  3. Paste the access token: Paste The Access Token

Testing API Endpoints

After authentication, you can access all protected endpoints. For example: Reading all projects from Swagger API documentation: Read All The Projects

Authentication

The system uses JWT (JSON Web Token) authentication. To access protected endpoints:

  1. Obtain a token by logging in
  2. Include the token in the Authorization header: Bearer <your-token>

About

A robust RESTful API built with Django REST Framework for managing projects, tasks, and user authentication. This API provides a comprehensive solution for project management with features like JWT authentication, nested resources, and proper error handling.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published