Bomberman — компьютерная игра. Жанр - аркадный лабиринт. Игрок управляет персонажем, находящимся в лабиринте, состоящем из разрушаемых и неразрушаемых стен. Он может оставлять бомбу, взрывающуюся через некоторое фиксированное время и разрушающую стены рядом с ней. На уровне присутствуют противники. Целью игры является нахождение скрытой за одной из разрушаемых стен двери, ведущей в следующий уровень с предварительным уничтожением врагов.
- React
- React Router
- Redux
- Redux Thunk
- Typescript
- Canvas API
- NodeJS
- Axios
- Vite
- Jest
- Server Side Rendering
- OAuth
- Nginx
- Yandex Cloud
- Service Workers
- Docker-Compose
- Убедитесь что у вас установлен
node
иdocker
- Выполните команду
yarn bootstrap
- это обязательный шаг, без него ничего работать не будет :) - Выполните команду
yarn dev
- Выполните команду
yarn dev --scope=client
чтобы запустить только клиент - Выполните команду
yarn dev --scope=server
чтобы запустить только server
Перед первым запуском выполните node init.js
docker compose up
- запустит три сервиса
- nginx, раздающий клиентскую статику (client)
- node, ваш сервер (server)
- postgres, вашу базу данных (postgres)
Если вам понадобится только один сервис, просто уточните какой в команде
docker compose up {sevice_name}
, например docker compose up server
В этом проекте используется monorepo
на основе lerna
Чтобы добавить зависимость для клиента
yarn lerna add {your_dep} --scope client
Для сервера
yarn lerna add {your_dep} --scope server
И для клиента и для сервера
yarn lerna add {your_dep}
Если вы хотите добавить dev зависимость, проделайте то же самое, но с флагом dev
yarn lerna add {your_dep} --dev --scope server
Для клиента используется react-testing-library
yarn test
yarn lint
yarn format
yarn build
И чтобы посмотреть что получилось
yarn preview --scope client
yarn preview --scope server