Ремейк логической игры "Взлом" из вселенной Cyberpunk2077. Подробное объяснение правил - в разделе "Tutorial".
https://www.loom.com/share/14336d4fb05949e6adf23a34c9e223c0
- Убедитесь что у вас установлен
node
иdocker
- Выполните команду
yarn bootstrap
I) Запустить только клиент:
- Выполните команду
yarn dev --scope=client
II) Запустить только сервер:
Предварительно требуется произвести build клиента, чтобы корректно работал server side rendering, для этого:
- Перейти в каталог
packages/client
cd packages/client
- Произвести build клиента
yarn build:ssr
- Перейти в каталог
packages/server
cd ../server
- Запустить сервер
yarn dev
- По адресу http://localhost:3001 будет доступно приложение
III) Запустить клиент и сервер:
Предварительно требуется произвести build клиента, чтобы корректно работал server side rendering, для этого:
- Перейти в каталог
packages/client
cd packages/client
- Зарегистрировать клиентскую часть
yarn link
- Запустить локальный сервер клиент
yarn dev:ssr
- В отдельном терминале перейти в каталог
packages/server
cd packages/server
- Произвести link клиентской части приложения
yarn link "client"
- Запустить сервер
yarn dev
- По адресу http://localhost:3001 будет доступно приложение
IV) Запустить сервер совместно с базой данных в Docker-контенейрах:
В корневой папке проекта запустить команду
yarn docker
Дождаться окончания сборки и запуска контейнеров, отслеживать процесс в СLI.
Приложение будет доступно по адресу http://localhost:5000
В этом проекте используется 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
В проекте используется lefthook
Если очень-очень нужно пропустить проверки, используйте --no-verify
(но не злоупотребляйте :)
Откройте issue, я приду :)
Зарегистрируйте аккаунт на vercel
Следуйте инструкции
В качестве root directory
укажите packages/client
Все ваши PR будут автоматически деплоиться на vercel. URL вам предоставит деплоящий бот
Перед первым запуском выполните node init.js
docker compose up
- запустит три сервиса
- nginx, раздающий клиентскую статику (client)
- node, ваш сервер (server)
- postgres, вашу базу данных (postgres)
Если вам понадобится только один сервис, просто уточните какой в команде
docker compose up {sevice_name}
, например docker compose up server