Skip to content

syntaxa/circuit-forge

Repository files navigation

Circuit Forge

Веб-приложение для круговых тренировок высокой интенсивности (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 # с отчётом покрытия

Деплой (GitHub Pages)

При каждом пуше в main workflow GitHub Actions собирает проект и публикует на GitHub Pages.

  1. В репозитории: Settings → Pages
  2. В Build and deployment выберите Source: GitHub Actions
  3. После первого успешного запуска приложение будет доступно по адресу:
    https://<owner>.github.io/<repo-name>/

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

Путь Описание
components/ Экраны и UI: настройка тренировки, тренировка, настройки, база упражнений, таймер, кнопки
services/ Данные, настройки, профиль, история, TTS, генератор тренировок
constants.ts Исходные упражнения, дефолты, типы
tests/ Unit- и интеграционные тесты (Vitest + Testing Library)
docs/ Архитектура, Задачи

Документация

Лицензия

См. LICENSE в репозитории (если есть).

About

A simple web app for HIIT bodyweight workouts

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages