carlosvargas9103 / docker-django-celery-rabbitmq

On-boarding Project for Django, Celery, RabbitMQ and Redis on Docker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Foodapp

On-Boarding-Project (OBP) for Yelster Digital by @cvargas

About Foodapp

Foodapp is dummy application written in python using django to explore the backend stack of the company during the OBP. It offers functionalties such a CRUD for Restaurants, Customers and Reservations.

The relations between the entities are the follow:

  • Restaurants can have multiple Restaurant Tables (Tables)
  • Restaurants can have multiple Reservations
  • Customers can have Reservations of Tables in Restaurants for a specific date

The interactions between entities are the follow:

  • More than one Reservation on the same Table and date is not possible
  • Each Table belongs only to one Restaurant

Using the endpoints

  • Restaurants

  • Restaurant-Tables

  • Customers

  • Reservations

  • Customers can send requests using the endpoint of Reservations to book a Table by sending a valid JSON Reservation object. If this is correct, the application "sends an email" to the Customer.

Quickstart

Build docker containers

docker-compose up -d

Check if docker containers run healthy

In total, 5 docker containers should run in parallel:

docker-compose ps
  • Django web app (django)
  • Postgres database (db)
  • Asynchronous tasks-broker (celery)
  • Message-broker receiver (rabbitmq)
  • Message-broker responder (redis)

Acess to foodapp

login at:

Username: django
Password: admin

See the OpenAPI Documentation at:

About

On-boarding Project for Django, Celery, RabbitMQ and Redis on Docker


Languages

Language:Python 96.5%Language:HTML 2.5%Language:Dockerfile 1.1%