Веб-приложение для круговых тренировок высокой интенсивности (HIIT) в домашних условиях. Без инвентаря — достаточно собственного веса и стула/стола. Circuit Forge формирует случаные программы тренировок из базы упражнений, ротирует группы мышц между тренировками. Настройки хранятся локально.
- Умная генерация тренировок — 3 группы мышц за сессию (2 из прошлой тренировки + 1 новая) для сбалансированной нагрузки и разнообразия
- Настраиваемые сессии — длительность упражнения, число упражнений в круге и число кругов
- База упражнений — встроенные упражнения; добавление, редактирование и удаление своих (данные в localStorage)
- Голосовые подсказки (TTS) — обратный отсчёт и объявление упражнений через Web Speech API
- Смена стороны — визуальная и голосовая индикация для двухсторонних упражнений
- Адаптивный интерфейс — удобно на телефоне и планшете
- React 19 + TypeScript
- Vite
- Tailwind CSS
- localStorage — настройки, профиль, история тренировок и пользовательские упражнения
# Клонировать репозиторий
git clone https://github.com/YOUR_USERNAME/circuit-forge.git
cd circuit-forge
# Установить зависимости
npm install
# Запустить dev-сервер (http://localhost:3000)
npm run devСборка для продакшена:
npm run buildПросмотр production-сборки локально:
npm run previewТесты:
npm test # один прогон
npm run test:watch # в режиме наблюдения
npm run test:coverage # с отчётом покрытияПри каждом пуше в main workflow GitHub Actions собирает проект и публикует на GitHub Pages.
- В репозитории: Settings → Pages
- В Build and deployment выберите Source: GitHub Actions
- После первого успешного запуска приложение будет доступно по адресу:
https://<owner>.github.io/<repo-name>/
| Путь | Описание |
|---|---|
components/ |
Экраны и UI: настройка тренировки, тренировка, настройки, база упражнений, таймер, кнопки |
services/ |
Данные, настройки, профиль, история, TTS, генератор тренировок |
constants.ts |
Исходные упражнения, дефолты, типы |
tests/ |
Unit- и интеграционные тесты (Vitest + Testing Library) |
docs/ |
Архитектура, Задачи |
- Архитектура и дорожная карта — дизайн, модель данных, фазы развития
- Задачи — текущие задачи и известные дефекты
См. LICENSE в репозитории (если есть).