Приложение использует Postgres в качестве БД для хранения информации о юзерах, играх, истории ходов и состояний досок во время игры.
Приложение поднимается в докере.
Файл env.example
содержит
- POSTGRES_URL - его при желании можно поменять на свой в своем файле
.env
- JWT_SECRET - приложение использует jwt для авторизации
- APP_URL - необязательное поле для локального тестирования
Для начала работы достаточно выполнить команду:
docker-compose up -d
API описано сваггером, который доступен по localhost:8080
. На данный момент поддерживается следующий функционал:
Позволяет создать пользоваетля (игрока). Для регистрации нового пользователя необходимо отправть новый пароль.
Возвращает id нового пользователя
Создаёт jwt для пользователя. Необходимо отправить id и password пользователя.
Возвращает jwt.
Все дальнейшие действия потребуют авторизации по полученному jwt.
Созаёт игроку и/или позволяет присоединиться игроку к уже имеющейся игре.
Необходимо указать желаемый цвет, за которой будете играть. true - белый, false - чёрный. Если будет найдена игра с одним игроком противоположного цвета - вас добавят в неё. Если нет, то будет создана новая игра с вами. Игра начинатется после присоединения второго игрока.
Возвращает id игры.
Позволяет сделать ход в уже созданой игре.
Необходимо указать id игры и ход в фотмате
"from": "string", "to": "string", "newFigure": 0,
Поля from
и to
это поля на доске. Узавать нужно в формате E2
. newFigure
- на случай, если ваша пешка достигла последней горизонтали, необходимо указать новую фигуру, в которую она превращатеся. Указывается rune первой буквы названия фигуры (например queen - 'q' = 113).
Возвращает запись move.
Возможность сдаться до окончания партии. Необходимо отправть id игры.
Получить историю ходов по игре. Необходимо отправть id игры.
Получить информацию о текущем состоянии доски. Необходимо отправть id игры.