Задача проекта: Разработать соревновательный сервис в реальном времени по разгадыванию загадок и пазлов.
Данный проект предоставляет возможность различным организациям проводить тим-билдинги и другие мероприятия с помощью данного соревновательного сервиса, где команды разгадывают загадки, и по количеству набраных балов выбирается победитель.
Проект Arena разработан на стэке React, Node.js, MySQL, GraphQL, Apollo Subscriptions. Предоставляет игровые сессии в реальном времени. В этих сессиях игроки розбившись на команды разгадывают загадки и пазлы, за что получают балы, за которые в конце игры каждой команде присваиваются места.
В данном проекте существует 3 роли:
1) Администратор:
- Заранее создан в базе даных
- Видит список всех игр
- Может создавать игру
- Может редактировать и отменять игру
- Может следить за любой игрой (в роли Координатора)
2) Координатор:
- Создается вместе с игрой (и привязывается к ней)
- Видит список всех команд в игре
- Может создавать команды
- Может редактировать и удалять команды
- Может изменить время начала игры
- Во время игры видит результаты всех команд
3) Игрок:
- Создается вместе с командой
- Получает от координатора ссылку, чтоб попасть в игру
- Может отгадывать загадки
- Может использовать подсказки
- Может сдаться на определенной загадке, чтоб перейти к следующей
- Может видеть рейтинг других команд в реальном времени
arena.demo.malevich.com.ua/event/one/team_one