- React (v16)
- Redux
- Socket.io
- React-Router (v4)
- Webpack
- SASS + CSS Modules + PostCSS
Необходимо убедиться, что в системе установлены node и NPM.
Установка зависимостей проекта: npm i
Сборка и подготовка клиентского и серверного кода осуществляется webpack-ом; результат зависит от выбранного режима сборки (dev/prod):
- Watch-сборка для разработки (HMR):
npm run dev
- Сборка для production deploy:
npm run build
Запуск сервера: npm run start
-> перейти по URL.
По умолчанию клиентское приложение рендерится на сервере при первом запросе.
Основной сценарий игры -- первый (хронологически) игрок регистрируется в игре вводя свой никнейм и получает invite-ссылку на созданную игру, которую нужно отправить сопернику. Соперник переходит по этой ссылке, регистрирует никнейм, после чего оба игрока получают возможность начать игру.
Игра продолжается до победы одного из игроков, либо до ничьи. После окончания игры пользователи могут сыграть еще раз. Отключение одного из игроков приводит к неактивности игры у второго игрока.
В течение игры (а также после нее, если оба игрока остаются на странице) пользователи могут общаться в текстовом чате. Поддерживается статус "пишет/не пишет" собеседника.