Skip to content

Project provides take feedback from users (frontend form), process it and save to database through rabbitmq.

Notifications You must be signed in to change notification settings

alina1412/task_with_rabbitmq

Repository files navigation

Task with rabbitmq

Description

The project provides functionality to take a feedback from users (a frontend form), process it and save it to the database.

It runs as 5 docker containers.

Frontend -> Backend -> Rabbitmq -> Saving-to-db-service -> db

Frontend gets feedback from users, sends it to backend, which validates it and sends to rabbitmq. The next service retrieves it from the rabbitmq and sends the data to the db. The separation into containers provides the ability of scaling.

How it works (from the frontend outside view)

video (1 min):
Watch the video

How to run locally

if running first time

  • create virtual environment (poetry install)
  • run make build command from Makefile
  • run make db-migrate after all containers started (rabbitmq starts for quite long)
  • check rabbitmq locally by http://localhost:15672 with username and password from .env
  • check frontend locally by http://localhost:8080/
  • check db by connecting to it with data from .env

Tools used

  • rabbitmq
  • tornado
  • fastapi
  • docker-compose
  • postgres db
  • alembic
  • poetry
  • pydantic
  • javascript, html
  • asyncio

About

Project provides take feedback from users (frontend form), process it and save to database through rabbitmq.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published