Данный сервис предназначен для регистрации обращений и представляет собой одностраничный сайт реализованный на Bootstrap. Backend сервиса реализован на базе Django и использует Django REST Framework в качестве интерфейса для API-запросов из браузера к сайту, а так же RabbitMQ в качестве брокера текстовых сообщений. Сам проект упакован в Docker контейнер. В качестве базы данных используется SQLite3.
docker pull rabbitmq:3.9-management
2. Создаем внутри скопированного проекта образ нашего web-приложения и запускаем контейнеры с брокером очередей и web-приложением:
docker-compose up -d
docker ps -a
docker exec -it <ID контейнера> bash
python manage.py createsuperuser
6. Запускаем внутри контейнера программу-consumer для отслеживания сообщений в RabbitMQ и записи их в БД:
python manage.py receive
7. Переходим на http://127.0.0.1:8000/ и вводим обращение в форму:
9. receive.py считывает сообщение и отправляет в БД. Посмотреть обращения можно в панели администратора по адресу http://127.0.0.1:8000/admin/:
P.S. Если вы хотите иметь доступ к веб-интерфейсу RabbitMQ зайдите внутрь контейнера с rabbitmq по аналогии с шагом №4 и выполните следующую команду, а затем перейдите на http://localhost:15672. По умолчанию логин и пароль для доступа - guest:guest :
rabbitmq-plugins enable rabbitmq_management
Код написан в тестовых целях на вакансию компании Ростелеком.