Skip to content

Kalininmladshiy/rostelekom

Repository files navigation

Сервис по регистрации обращений.

Данный сервис предназначен для регистрации обращений и представляет собой одностраничный сайт реализованный на Bootstrap. Backend сервиса реализован на базе Django и использует Django REST Framework в качестве интерфейса для API-запросов из браузера к сайту, а так же RabbitMQ в качестве брокера текстовых сообщений. Сам проект упакован в Docker контейнер. В качестве базы данных используется SQLite3.

Установка:

0. Если на вашем компьютере отсутствует образ RabbitMQ, вы можете установить его данной командой:

docker pull rabbitmq:3.9-management

1. Копируем содержимое проекта себе в рабочую директорию

2. Создаем внутри скопированного проекта образ нашего web-приложения и запускаем контейнеры с брокером очередей и web-приложением:

docker-compose up -d

3. После запускаем следующую команду и смотрим, что все контейнеры работают:

docker ps -a

изображение

4. Далее заходим внутрь контейнера с нашим веб приложением:

docker exec -it <ID контейнера> bash

5. Создаем панель администратора внутри контейнера:

python manage.py createsuperuser

6. Запускаем внутри контейнера программу-consumer для отслеживания сообщений в RabbitMQ и записи их в БД:

python manage.py receive

изображение

7. Переходим на http://127.0.0.1:8000/ и вводим обращение в форму:

изображение

8. С помощью Django REST Framework обрабатываем POST запрос и отправляем его в RabbitMQ:

изображение

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

Цели проекта

Код написан в тестовых целях на вакансию компании Ростелеком.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published