https://github.com/midoahmed/django-rest-api
Generic Backend which exposes a REST API as well as user screens
https://github.com/midoahmed/django-rest-api
django django-environ django-framework django-rest-framework django-seed docker docker-compose githooks gunicorn-web-server nginx postgres python3 seed swagger-ui travis-ci
Last synced: 2 months ago
JSON representation
Generic Backend which exposes a REST API as well as user screens
- Host: GitHub
- URL: https://github.com/midoahmed/django-rest-api
- Owner: MidoAhmed
- Created: 2020-10-05T10:21:46.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2020-10-30T22:14:13.000Z (over 5 years ago)
- Last Synced: 2025-03-18T18:58:53.439Z (over 1 year ago)
- Topics: django, django-environ, django-framework, django-rest-framework, django-seed, docker, docker-compose, githooks, gunicorn-web-server, nginx, postgres, python3, seed, swagger-ui, travis-ci
- Language: CSS
- Homepage:
- Size: 293 KB
- Stars: 1
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [Backend API REST & UI Views based on DJANGO](https://github.com/MidoAhmed/django-rest-api)
************ Coded in **Django Framework** by **ME** [MEK](https://github.com/MidoAhmed) ************
> 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](https://github.com/joke2k/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](https://github.com/Brobin/django-seed)
- Documenting Your API via [drf-yasg](https://github.com/axnsan12/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
## How to use it
```bash
$ # 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:
$
$ # Access the web app in browser: http://127.0.0.1:8000/
```
> Note: WORK IN PROGRESS
## Code-base structure
The project is coded using a simple and intuitive structure presented bellow:
```bash
WORK IN PROGRESS
```
> The bootstrap flow
- WORK IN PROGRESS
## Deployment
The app is provided with a basic configuration to be executed in [Docker](https://www.docker.com/)
### [Docker](https://www.docker.com/) execution
---
The application can be easily executed in a docker container. The steps:
> Get the code
```bash
WORK IN PROGRESS
```
> Start the app in Docker
```bash
WORK IN PROGRESS
```
Visit `http://localhost:5005` in your browser. The app should be up & running.
## Credits & Links
- [Django](https://www.djangoproject.com/) - The official website
---
[Backend API REST & UI Views based on DJANGO](#) - Provided by **ME** [MEK](https://github.com/MidoAhmed).