Проект представляет собой веб сервис для мультиплеерной игры в пошаговую игру "Сеги". Компоненты проекта реализованы на основе библиотек fastapi и aiopika. В качестве сервера базы данных использовался Postgres. Для общения с базой данных использовалась Tortoise ORM.
services- python package со всем сервисами приложенияrpc_service- вспомогательная библиотека на основеaiopikaдля шаблонизации описания сервисовamqp_events- вспомогательная библиотека для поддержки отправки событий черезrabbitmqgame_model- библиотека, реализующая всю логику игры "Сеги"
Для запуска докер контейнеров бэкенда перейдите в папку src/frontend/. В нем вы находится файл credentials.env,
в котором находятся все данные для входа (например, для rabbitmq, postgres). Поменяйте в нем значения
переменных окружения на нужные вам.
Далее, перейдите в терминал и запустите следующую команду (обязательно запускать из дериктории src/frontend!)
docker-compose buildВ docker будут созданы все необходимые образы. Осталось ввести следующую команду
docker-compose upВ начальные моменты времени работы сервисов некоторые могут падать и перезагружаться. Это связано с тем, что сервисы пытаются подключиться к rabbitmq или postgres, когда они еще не были инициализированы.
Для остановки контейнеров нажмите Ctrl + C, а для удаления введите следующую команду
docker-compose down