************ Coded in Django Framework by ME MEK ************
Features:
- Python v3.8, Django v3.1.2, Django REST framework v3.12.1
- PostgresSQL Database, Django Native ORM
- 12-Factor based settings via django-environ
- Clean code-base
- Docker support using docker-compose for development
- Productivity tip: using Makefile
- Versioning API v1, v2...
- Seed your database via django-seed
- Documenting Your API via drf-yasg
- Dockerize the app
- Travis-CI
- Test-Driven Development (TDD) of APIs
- Deployment scripts: Docker, Gunicorn / Nginx
Next Features:
- LOGGING (for prod purpose)
- Release
- Supervisor
$ # Get the code
$ git clone https://github.com/MidoAhmed/django-rest-api
$ cd django-rest-api
$
$ # Virtualenv modules installation (Unix based systems)
$ virtualenv env
$ source env/bin/activate
$
$ # Virtualenv modules installation (Windows based systems)
$ # virtualenv env
$ # .\env\Scripts\activate
$
$ # Install packags
$ pip install -r requirements/dev.txt
$
$ # Create tables
$ python manage.py makemigrations
$ python manage.py migrate
$
$ # Start the application (development mode)
$ python manage.py runserver # default port 8000
$
$ # Start the app - custom port
$ # python manage.py runserver 0.0.0.0:<your_port>
$
$ # Access the web app in browser: http://127.0.0.1:8000/
Note: WORK IN PROGRESS
The project is coded using a simple and intuitive structure presented bellow:
WORK IN PROGRESS
The bootstrap flow
- WORK IN PROGRESS
The app is provided with a basic configuration to be executed in Docker
Docker execution
The application can be easily executed in a docker container. The steps:
Get the code
WORK IN PROGRESS
Start the app in Docker
WORK IN PROGRESS
Visit http://localhost:5005
in your browser. The app should be up & running.
- Django - The official website
Backend API REST & UI Views based on DJANGO - Provided by ME MEK.