https://github.com/mjeammet/dapy-p10_softdesk
OpenClassrooms student project. Building an API with Django REST Framework.
https://github.com/mjeammet/dapy-p10_softdesk
api-rest django-rest-framework openclassrooms student-project
Last synced: over 1 year ago
JSON representation
OpenClassrooms student project. Building an API with Django REST Framework.
- Host: GitHub
- URL: https://github.com/mjeammet/dapy-p10_softdesk
- Owner: mjeammet
- Created: 2021-11-02T17:13:01.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-04-21T21:51:13.000Z (about 3 years ago)
- Last Synced: 2025-01-30T03:14:07.416Z (over 1 year ago)
- Topics: api-rest, django-rest-framework, openclassrooms, student-project
- Language: Python
- Homepage:
- Size: 87.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# General info
A private API to manage SoftDesk's issues tracking system.
# Usage
## Installation
```
# Clone this repo
$ git clone https://github.com/mjeammet/DAPY-P10_SoftDesk.git
# Create environment
$ python -m venv env
# Activate environment
$ python -m pip install --upgrade pip
# Upgrade pip and install packages into the environment to ensure proper behaviour:
$ source env/bin/acivate
$ pip install -r requirements.txt
```
## Create database
In order to initialise database, use commands
```
# To write migrations files
$ python manage.py makemigrations issues_tracker
# Migrate
$ python manage.py migrate
```
Your database is now created but empty. You can use signup endpoint to create users or create superuser with:
```
$ python manage.py createsuperuser
```
## Run server
After sourcing environment, simply run
```
$ python manage.py runserver
```
Server will start at [http://127.0.0.1:8000](http://127.0.0.1:8000).
## Features and permissions
| Action | Permission |
|-|-|
| Create an account | Everyone |
| Login | Everyone |
| Create a project | Every authenticated user |
| Add/remove contributors to project | Project owner |
| Create issues and comments | Project contributor |
| List/read issues and comments | Project contributor |
| Modify or delete project, issue and comment | Project/Issue/Comment author |
| * | Superuser |
# API documentation
API documentation can be found on [https://documenter.getpostman.com/view/17508081/UVJbJy2v](https://documenter.getpostman.com/view/17508081/UVJbJy2v)
# Code consistency
Code consistency was ascertained using flake8 package.
`flake8 --format=html --htmldir=flake8_report` to generate a new report.
# Credits
This program uses the following packages:
- Djando Rest Framework
- Nested routers
- flake8