В этом репозитории реализован 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 - Статические файлы
Запускает приложение в режиме разработки.
Откройте http://localhost:3000 чтобы посмотреть его в браузере.
Собирает оптимизированный и минифицированный продакшен билд приложения в папку build.
После сборке, приложение готово к деплою.
Деплоит приложение в github pages. По сути, запускает сборку и коммитит билд в ветку gh-pages.
(!) github pages должен быть включен в настройках репозитория и настроен на ветку gh-pages
Запускает eslint проверку кода, эта же команда запускается перед каждым коммитом. Если не получается закоммитить, попробуйте запустить эту команду и исправить все ошибки и предупреждения. Новые функции
Оценка времени работы: Задача / Оценка времени / Фактическое время:
- Реализация суперсил / 4 часа / 9.5 часов
- Доработка лидерборда / 2 часа / 4 часа
- Интеграция новых функций с существующим кодом / 3 часа / 5.5 часа
- Тестирование и отладка / 35 минут / 40 минут
- Обновление документации / 25 минут / 30 минут Общее время: 10 часов (оценка) / 20 часов 10 минут (факт)