- Install cookiecutter.
- Generate your project from cookiecutter-drf:
cookiecutter gh:flexy/cookiecutter-drf
- Containerized with Docker
- Python 3.7
- Django 2.2
- Web server: Gunicorn and Uvicorn
- Databases: PostgreSQL, Redis
- Dependency and python version management (Pipenv)
- Tasks: Celery and Celery Beat
- Better settings (django-environ, django-configurations)
- Better logging (Sentry, logutils)
- Common model fields and mixins (django-model-utils)
- Django Rest Framework
- Swagger UI (drf-yasg)
- Redoc UI (drf-yasg)
- OpenAPI schema (drf-yasg)
- QuerySet filtering (django-filter)
- Custom user model
- Authentication endpoints (djoser)
- Social authentication and OAuth2 (social-auth-app-django, django-oauth-toolkit, django-rest-framework-social-oauth2)
- pytest with pytest-django
- Easy API testing (django-rest-assured)
- Factories (factory-boy)
- django-debug-toolbar available locally
- Code quality (Flake8, Black)
- Code coverage (pytest-cov)
- CI integration (Travis CI)
- Heroku
- Email verification
- Better permissions
- Install dependencies:
pipenv install
- Launch the project environment:
pipenv shell
- Initialize pre-commit:
pre-commit install
cookiecutter . --no-input --overwrite-if-exists