This lab tries to implement a solution for a cinema tickets backend.
I used for study some concepts:
- Django / Django REST
- Celery (tasks and scheduler)
- Broker (RabbitMQ)
- Microservices
- Github actions automated tests with postgres
This repo represents a microservice architecture, and has the following structure:
.
└── root/
├── backend - Microservices in Django, FastAPI, etc.
├── infra - Dockerfiles containing settings for databases, brokers, etc.
└── tools - Tool dumps, such as Insomnia.
This repo contains a docker-compose
file centralizing all services:
database
: A PostgreSQL database;broker
: A RabbitMQ instance;nginx
: A Nginx instance;api
: Contains a Django API built withDjango REST Framework
;worker
: Contains a worker to process celery tasks on background;scheduler
: Setup the schedule service to start periodic tasks on celery;movies_api
: External service to get movie data from an external API.