- Django 3.0+
- Django REST Framework - Powerful and flexible toolkit for building Web APIs.
- Django Cors Headers - A Django application for handling the server headers required for Cross-Origin Resource Sharing (CORS).
- Django Filter - Simple way to filter down a queryset based on parameters a user provides.
- Simple JWT - A JSON Web Token authentication plugin for the Django REST Framework.
- Whitenoise - Radically simplified static file serving for Python web apps
- Procfile for running gunicorn with New Relic's Python agent.
- Support for automatic generation of OpenAPI schemas.
- Automated generation of real Swagger/OpenAPI 2.0 schemas from Django REST Framework code with drf-yasg.
- Python 3.7>
- Virtualenv
$python3 -m venv venv
$source venv/bin/activate
$pip install -r requirements.txt
Application running in multiple environments like DEV and PROD. All env variables used in this application are available in .env.example
, feel free to setup your own environment configuration.
Just make a copy from .env.local.example
and/or rename to .env.local
and setup your variables. Then run in terminal:
$source .env.local
The first time you run the application, make sure to apply the database migrations and create a super user account:
$python manage.py migrate
$python manage.py createsuperuser
Finally start development server:
$python manage.py runserver
Just make a copy from .env.production.example
and/or rename to .env.production
and setup your variables. Then run in terminal:
$source .env.production
The first time you run the application, make sure to apply the database migrations, create a super user account and generate static files:
$python manage.py migrate
$python manage.py createsuperuser
$python manage.py collectstatic --no-input
Finally start production server:
$gunicorn project.wsgi --log-level=INFO
$python manage.py test