Skip to content

newvasyuki/snake-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание

Учебный проект курса "Мидл-фронтенд разработчик" от Яндекс.Практикум. Проект "Snake Game" разработан командой "Нью-Васюки". "Snake Game" это вариация на тему известной игры "Змейка". Игра заключается в поедании предметов, появляющихся в разных клетках поля. После поедания каждого предмета змейка увеличивается на одну клетку. Управление движением осуществляется с помощью стрелок клавиатуры. В случае столкновения движения змейки со стеной или с самой змейкой - игра прекращается.

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

Стек

В проекте используются Typescript, Stylelint, Eslint, Prettier, PostCss, SSR, Express, Docker, Swagger. Сборка клиента - Webpack, сборка сервера - tsc. Тесты - Jest + react-testing-library.

Установка и запуск

  • npm install — установка зависимостей,
  • npm run dev — запуск дев сервера,
  • npm start — сборка клиента, сервера и запуск проекта на локальном Express-сервере,
  • npm run build — сборка клиента и сервера. Остальные команды описаны в разделе scripts packa

Запуск в докере и подключение к базе данных

For production:

docker-compose up -d

For developers:

Способ 1: Для режима разработки рекомендуется запустить базу данных в контейнере

Комманда для запуска:

docker-compose -f docker-compose.dev.yaml up postgres

После этого в отдельном терминале нужно запустить приложение:

npm run dev

Способ 2: Для режима разработки также можно запустить все приложения в контейнерах при помощи:

docker-compose -f docker-compose.dev.yaml up

В обоих случаях подключатся к базе данных можно с машины хоста, например при помощи DBeaver или любого другого клиента.

Работа с форумом в режиме разработки с авторизацией

  1. Добавить алиас в файл hosts: 127.0.0.1 snake.ya-praktikum.tech

  2. Сгенерировать self-certificate для доступа по https

Как сгенерировать self-seigned сертификат

openssl req -x509 -newkey rsa:2048 -keyout keytmp.pem -out cert.pem -days 365

openssl rsa -in keytmp.pem -out key.pem

  1. Создать в корне репозитория папку ssl и Положить туда сгенерированные ключи

Как использовать сгенерированный сертификат

  1. Запустить дев среду с форумом npm run dev:forumWithAuth

  2. Swagger доступен для тестирования эндпоинтов

О команде

Над проектом работали

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages