Cookiecutter Django with PostGres + Docker + DramatiQ and optional APScheduler
This is a cookiecutter application that aims to help people speeding up the development process. We use django-guardian for user permissions if not using external services (Auth0, Google...) as we see it fit and easy to use as well as simple to manipulate complex object permissions.
Table of Contents
Introduction
Every time a new django project needs to be set, a lot of settings and configurations need to be also set and this cookiecutter offers a lot of boilerplating including:
- Login
- Task Manager with Dramatiq
- Django Rest Framework
- Redis
- RabbitMQ
- PGBouncer for database accesses
- django-guardian
- MongoDB as Optional
All of this using docker.
Requirements
To use this cookiecutter you should have at least.
- Docker
- Python 3.8
- Any virtual environment at your choice
Cookiecutter
- Cookiecutter - More details how to use and install here
Task Manager
This project implements dramatiq
The project also contains inside the development/settings.py
a DRAMATIQ_BROKER
specially
designed for developement. For users used to CELERY_TASK_ALWAYS_EAGER=True
, this broker
has a similar behaviour. Special thanks to @dnmellen for providing an alternative.
Install the template
cookiecutter https://github.com/tarsil/cookiecutter-django
and follow the instructions. When giving a name to your project, avoid dashes by using underscores instead.