Skip to content

Student project #7 - Create a secure RESTful API using Django REST.

License

Notifications You must be signed in to change notification settings

KDerec/softdesk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

RESTful API using Django REST

This student project is the #7 of my training.
You can follow the previous here and next one here.

Table of Contents
  1. About The Project
  2. Built With
  3. Installation
  4. License
  5. Contact

About The Project

The API documentation is created with Postman.

🌱 Developped skills

  • Creating a RESTful API with Django REST
  • Securing an API to comply with OWASP and RGPD standards
  • Documenting an API

📖 Scenario

SoftDesk, a software development and collaboration company, has decided to release an issue tracking system. This solution is aimed at B2B customers.

I was hired as a software engineer to create a powerful and secure back-end to serve the applications on all platforms.

Application Description:

  1. An issue tracking app for all three platforms (website, Android and iOS apps).
  2. The app will essentially allow users to create various project, add users to specific projects (called a contributor), create issues within projects and assign comments to those issues based on their priorities, tags, etc.
  3. All three applications will leverage API endpoints that will serve the data.

🚧 🚀 Project goal & deliverable

Develop a RESTful API using the Django REST framework to serve the three applications.

⚠ Caution

For the sample, the current database already has created objects, like user accounts, projects, contributors, ...
You must change the admin account to fill with your requirements and you can delete the others objects or update it at your convenience.
To manipulate the objects of the database, you can use the Django admin site with /admin/ path.

API documentation sample (complete here):

api-doc-screenshot
api-doc-screenshot

(back to top)

Built With

(back to top)

Installation

  1. Install Python ;
  2. Clone the project in desired directory ;
    git clone https://github.com/KDerec/softdesk.git
  3. Change directory to project folder ;
    cd path/to/softdesk
  4. Create a virtual environnement (More detail to Creating a virtual environment) ;
    • For Windows :
      python -m venv env
    • For Linux :
      python3 -m venv env
  5. Activate the virtual environment ;
    • For Windows :
      .\env\Scripts\activate
    • For Linux :
      source env/bin/activate
  6. Install package of requirements.txt ;
    pip install -r requirements.txt
  7. Run the server by executing the command ;
    • By default :
      python manage.py runserver
    • Or for a different port, for example, 8080 :
      python manage.py runserver 8080
  8. Follow the API documentation to learn how to use the API.
  9. Enjoy the API.

(back to top)

Python installation

  1. Install Python. If you are using Linux or macOS, it should be available on your system already. If you are a Windows user, you can get an installer from the Python homepage and follow the instructions to install it:

    • Go to python.org
    • Under the Download section, click the link for Python "3.xxx".
    • At the bottom of the page, click the Windows Installer link to download the installer file.
    • When it has downloaded, run it.
    • On the first installer page, make sure you check the "Add Python 3.xxx to PATH" checkbox.
    • Click Install, then click Close when the installation has finished.
  2. Open your command prompt (Windows) / terminal (macOS/ Linux). To check if Python is installed, enter the following command (this should return a version number.):

    python -V
    # If the above fails, try:
    python3 -V
    # Or, if the "py" command is available, try:
    py -V

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Kévin Dérécusson - kevin.derecusson@outlook.fr

Project Link: https://github.com/KDerec/softdesk

(back to top)

This student project is the #7 of my training.
You can follow the previous here and next one here.

About

Student project #7 - Create a secure RESTful API using Django REST.

Topics

Resources

License

Stars

Watchers

Forks

Languages