Добавить новую игру в проект, node.js, бэкэнд

40 000 руб. за проект • безналичный расчёт, электронные деньги
26 марта 2019, 00:54 • 4 отклика • 66 просмотров
Проект посвящён многопользовательским браузерным реалтайм-играм.

На данный момент на проде функционирует одна игра, очень многие вещи с неё можно (и нужно) будет копипастить.

Игра, которую нужно подключить, полностью реализована в виде standalone-прототипа, в котором используется тот же технологический стек и та же логика, что и в основном проекте. Т.к. это прототип, не реализованы следующие вещи:

- финансы (ставка, начисление выигрыша). Полностью идентично уже реализованной первой игре, в основном будет копипаст.

- ответственная игра. Все случайные значения вычисляются до начала игры, упаковываются в jwt и его подпись рассылается клиентам. Тоже решается копипастом уже реализованных методов.

- Математика генерации случайных значений. Вот тут будет немного ресёрча, чтоб обеспечить всем игрокам равные условия. Можно смотреть на то, как сделано в первой игре, но новая игра принципиально отличается и у неё куча своих констант, так что не сильно поможет.


Техн. стек:
Последняя нода. Приложение распределённое, у серверов 4 роли. Состояние хранит только сервер с циклом игры. Общается с пользователями он по протоколу WebSocket, через посредника (прокси-сервер), единственная задача которого - держать много подключений. ws-транспорт - npm-пакет "ws".

БД mongodb с ODM mongoose. Кэши и авторизация - redis. Развёртываемся по-старинке, через shell-скрипты. Проект большой (50к+ строчек) , первая неделя, думаю, уйдёт на чтение.


Подняты прод, пре-прод для тестов и локальное окружение для разработки. Все БД в облаках.

Документация, ссылки на прод и прототип, ТЗ и доступ в репо - после 5 минут голосом. Телеграм в профиле, отзывы тоже читаю.

Срок выполнения - 3 недели.