Skip to content

Balaura/react-memo

 
 

Repository files navigation

MVP Карточная игра "Мемо"

В этом репозитории реализован MVP карточкой игры "Мемо" по тех.заданию

Проект задеплоен на gh pages: https://skypro-web-developer.github.io/react-memo/

Функционал

  • Выбор уровня сложности (3 уровня: легкий, средний, сложный)
  • Режим игры с 3 жизнями
  • Таймер игры
  • Лидерборд с отображением лучших результатов
  • Адаптивный дизайн

Новые функции

Суперсилы

  • "Прозрение": На 5 секунд показываются все карты. Таймер длительности игры на это время останавливается.
  • "Алохомора": Открывается случайная пара карт.

Ачивки

  • "Без суперсил": Присваивается при прохождении игры без использования суперсил.
  • "Сложный режим": Присваивается при прохождении игры в сложном режиме (без трех жизней).

Лидерборд

Обновлен для отображения ачивок игроков.

Разработка

Проект реализован на основе шаблона Create React App.

Как разрабатывать

  • Установите зависимости командой npm install
  • Запустите dev сервер npm start
  • Откройте адрес в браузере

Стек и инструменты

React React Router для навигации CSS modules для стилей ESLint и Prettier для форматирования кода Lefthook для pre-commit хуков

Настроены eslint и prettier. Корректность кода проверяется автоматически перед каждым коммитом с помощью lefthook (аналог husky). Закомитить код, который не проходит проверку eslint, не получится.

Структура проекта

src/components - React компоненты src/pages - Страницы приложения src/utils - Вспомогательные функции src/context - React контексты public - Статические файлы

Доступные команды

npm start

Запускает приложение в режиме разработки.

Откройте http://localhost:3000 чтобы посмотреть его в браузере.

npm run build

Собирает оптимизированный и минифицированный продакшен билд приложения в папку build. После сборке, приложение готово к деплою.

npm run deploy

Деплоит приложение в github pages. По сути, запускает сборку и коммитит билд в ветку gh-pages.

(!) github pages должен быть включен в настройках репозитория и настроен на ветку gh-pages

npm run lint

Запускает eslint проверку кода, эта же команда запускается перед каждым коммитом. Если не получается закоммитить, попробуйте запустить эту команду и исправить все ошибки и предупреждения. Новые функции

Оценка времени работы: Задача / Оценка времени / Фактическое время:

  1. Реализация суперсил / 4 часа / 9.5 часов
  2. Доработка лидерборда / 2 часа / 4 часа
  3. Интеграция новых функций с существующим кодом / 3 часа / 5.5 часа
  4. Тестирование и отладка / 35 минут / 40 минут
  5. Обновление документации / 25 минут / 30 минут Общее время: 10 часов (оценка) / 20 часов 10 минут (факт)

About

Карточная игра "Мемо"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 62.0%
  • CSS 32.1%
  • HTML 5.9%