Skip to content

Stack-overflow-runners/game

Repository files navigation

Space runner

Build status

Игра Space runner - командная разработка от идеи до результата по методологии scrum и git flow с cross-review. В разработке принимали участие 4 человека.

Demo

Доступно по ссылке. Короткое видео с функционалом.

Screenshot

App Screenshot

Технологии

  • TypeScript;
  • React - для всего, кроме игры;
  • Redux, Redux-Thunk, Redux-Toolkit - стейт-менеджмент;
  • Canvas API - для отрисовки игры;
  • Ant-D & PostCSS — стилизация;
  • React Testing Library & Jest — тесты;
  • Vite — сборщик;
  • Express — веб-сервер;
  • PostgreSQL — база данных;
  • Sequelize — ORM;
  • Docker + github actions для автодеплоя на VDS;
  • EsLint, Prettier — линтеры.

Как запускать?

  1. Убедитесь что у вас установлен node и docker
  2. Выполните команду yarn bootstrap - это обязательный шаг, без него ничего работать не будет :)
  3. Выполните команду yarn dev
  4. Выполните команду yarn dev --scope=client чтобы запустить только клиент
  5. Выполните команду yarn dev --scope=server чтобы запустить только 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

Форматирование prettier

yarn format

Production build

yarn build

И чтобы посмотреть что получилось

yarn preview --scope client yarn preview --scope server

Хуки

В проекте используется lefthook Если очень-очень нужно пропустить проверки, используйте --no-verify (но не злоупотребляйте :)

Production окружение в докере

Перед первым запуском выполните node init.js

docker compose up - запустит три сервиса

  1. nginx, раздающий клиентскую статику (client)
  2. node, ваш сервер (server)
  3. postgres, вашу базу данных (postgres)

Если вам понадобится только один сервис, просто уточните какой в команде docker compose up {sevice_name}, например docker compose up server

About

Space runner game, made with TypeScript, React, Redux, Canvas API and more...

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5