renanstn / cinema-tickets-poc

Random studies...

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cinema-tickets-poc

Python Django DjangoREST Docker GitHub Actions Nginx Insomnia

Django CI

Objective

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

File structure

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.

Services

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 with Django 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.

About

Random studies...


Languages

Language:Python 85.6%Language:Dockerfile 10.8%Language:Shell 3.5%Language:Makefile 0.1%