Создать систему регистрации обращений. Система должна состоять из следующих элементов:
- фронтенд
- бэкэнд
- сервис очередей
- сервис записи в базу данных
- база данных
Описание элемента "фронтенд":
Страница приема обращения гражданина, обязательные элементы:
- поле Фамилия (тип текст)
- поле Имя (тип текст)
- поле Отчество (тип текст)
- поле Телефон (тип телефон, для упрощения цифры)
- поле Обращение (тип большой текст)
- кнопка "Отправить" (инициализируется отправку данных на бэкенд) Реализация: html, js(jQuery) или что-то максимально простое, формирование json(или другого представления данных) и отправдка на бэкенд.
Описание элемента "бэкенд":
Сервис реализующий функционал приема данных от фронтенда, формирование объекта и отправка его в сервис очередей. Реализация: python(tornado)
Описание элемента "сервис очередей":
rabbitMQ
Описание элемента "сервис записи в базу данных":
Сервис непрерывно работающий и подключенный к очереди rabbitmq, проверяет наличие там объектов, извлекает их, и записывает в базу данных. Реализация: python(fastapi)
Описание элемента "база данных":
Любая база данных на выш выбор. Таблица или докумет должны содержать соответственно поля из пункта "фронтенд".
При запуске команды докер компоуз, должно подниматься 5 контейнеров в своем сетевом пространстве. Соответственно по url ipfrontend:80 нам должна открываться страница приема обращения, а через реквизиты доступа к БД мы должны попасть внутрь и иметь возможность просматривать таблицы. Также необходимо настроить rabbitmq так чтобы там был managemen-plugin (в принципе он понадобится для отладки) и должен быть доступ в консоль раббита с iprabbitmq:15672 Img для докера брать на основе debian.