8000 GitHub - Nifacy/Shogi-Game: Implementation of the famous game "Shogi" in Python
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Implementation of the famous game "Shogi" in Python

Notifications You must be signed in to change notification settings

Nifacy/Shogi-Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Описание проекта

Проект представляет собой веб сервис для мультиплеерной игры в пошаговую игру "Сеги". Компоненты проекта реализованы на основе библиотек fastapi и aiopika. В качестве сервера базы данных использовался Postgres. Для общения с базой данных использовалась Tortoise ORM.

Структура проекта

backend

  • services - python package со всем сервисами приложения
  • rpc_service - вспомогательная библиотека на основе aiopika для шаблонизации описания сервисов
  • amqp_events - вспомогательная библиотека для поддержки отправки событий через rabbitmq
  • game_model - библиотека, реализующая всю логику игры "Сеги"

Запуск

Бэкенд. Запуск в docker

Для запуска докер контейнеров бэкенда перейдите в папку src/frontend/. В нем вы находится файл credentials.env, в котором находятся все данные для входа (например, для rabbitmq, postgres). Поменяйте в нем значения переменных окружения на нужные вам.

Далее, перейдите в терминал и запустите следующую команду (обязательно запускать из дериктории src/frontend!)

docker-compose build

В docker будут созданы все необходимые образы. Осталось ввести следующую команду

docker-compose up

В начальные моменты времени работы сервисов некоторые могут падать и перезагружаться. Это связано с тем, что сервисы пытаются подключиться к rabbitmq или postgres, когда они еще не были инициализированы.

Для остановки контейнеров нажмите Ctrl + C, а для удаления введите следующую команду

docker-compose down

About

Implementation of the famous game "Shogi" in Python

Resources

Stars

Watchers

Forks

Releases

4047
No releases published

Packages

No packages published
0