https://github.com/sagor0078/project-management-drf
https://github.com/sagor0078/project-management-drf
Last synced: 26 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/sagor0078/project-management-drf
- Owner: Sagor0078
- Created: 2024-11-14T13:09:59.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-11-15T07:56:58.000Z (6 months ago)
- Last Synced: 2025-04-23T20:15:00.493Z (26 days ago)
- Language: Python
- Size: 21.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Project Management API
This is a Project Management API built with Django and Django REST Framework. It includes user authentication using Djoser and JWT, and provides endpoints for managing users, projects, and tasks.
## Features
- User authentication with Djoser (Token and JWT)
- CRUD operations for users, projects, and tasks
- API documentation with Swagger and Redoc## Requirements
- Python 3.11
- Django 5.1.3
- Django REST Framework
- Djoser
- drf-yasg## Installation
1. Install the dependencies:
```sh
pip install -r requirements.txt
```2. Apply the migrations:
```sh
python manage.py migrate
```3. Create a superuser:
```sh
python manage.py createsuperuser
```
4. Run the development server:
```sh
python manage.py runserver
```
## API Documentation1. **Swagger UI**:
You can access the interactive Swagger UI documentation for the API at:
```sh
http://127.0.0.1:8000/swagger/
```2. **Redoc**:
For an alternative view of the API documentation, you can use Redoc:
```sh
http://127.0.0.1:8000/redoc/
```These links will allow you to explore and test the API endpoints directly from the browser.
## Docker Setup
### Build and Run the Application
1. **Build the Docker images and start the containers:**
```sh
docker-compose up --build
```2. **Run the Django migrations:**
```sh
docker-compose run web python manage.py migrate
```3. **Create a superuser:**
```sh
docker-compose run web python manage.py createsuperuser
```4. **Collect static files:**
```sh
docker-compose run web python manage.py collectstatic
```5. **Access the application:**
Open your web browser and go to `http://localhost:8000`.
### Stopping the Application
To stop the application, run:
```sh
docker-compose down
```### continue...
1. need custom error handeling
2. pagination
3. background processing