This project helps to develop microservices with Django Framework.
No more tens of apps in one project. Separate your apps into microservices and connect them under one domain. Every Django app can be developed and deployed separately, even by different teams. But all of them will be under one domain and will have unified authentication.
- Unified authentication in all microservices
- Production deployment with Docker Compose or Kubernetes
- Celery, Celery Beat, RabbitMQ, Postgres and Nginx included in Docker Compose
- Expiring Bearer Token authentication
- Custom user model
- Custom db router for auth models
- Object changes logging to one DB with django-auditlog
- Static and media files served by Nginx
- Message brokers integration (there is RabbitMQ in docker compose, but at this time it's only used by Celery)
- Automated CI/CD either with GitHub Actions, GitLab CI or Bitbucket Pipelines
- Active directory authentication
- Automatic discovery of microservices
- Docker and Docker Compose - Download
Of course, you can just run project without docker right on your machine. But docker is recommended way.
- Python 3.10 - Download
You will need Python only if you want to run this project locally without docker.
You can find example microservice apps under forks section.
Also, there is special example repos:
I will be very happy if you will contribute to this project. You can help with code, documentation, ideas, etc. Just create an issue or pull request. I will be glad to discuss it with you. Also, you can contact me via email: [email protected].