Skip to content

Latest commit

 

History

430 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Formly — фитнес-трекер

Открыть Formly · История изменений

CI Version Next.js Supabase Vercel

О проекте

Formly — мобильный фитнес-трекер для ведения тренировок, анализа прогресса и персональных AI-рекомендаций. Приложение работает как PWA, сохраняет активную тренировку офлайн и синхронизирует данные через Supabase.

Логотип Formly

Возможности

  • Ведение силовых и кардио-тренировок: подходы, вес, повторы, RPE и таймер отдыха.
  • История, объём, 1RM, рекорды, серии тренировок и прогресс по упражнениям.
  • Шаблоны, готовые программы, разминка и подсказки по прогрессии.
  • AI-разбор тренировок, план тренера, генератор программ и подсказки поиска на базе Grok 4.5.
  • Каталог упражнений с русскими названиями, алиасами и fuzzy-поиском.
  • Офлайн-режим, PWA-установка и push-уведомления.
  • Русский и английский интерфейс, адаптированный под телефон.

Стек

Область Технологии
Web Next.js 16, React 19, TypeScript, Tailwind CSS 4
Backend Supabase, PostgreSQL, Row Level Security
AI Grok 4.5 через шлюз CheapVibeCode
UX PWA, next-intl, native SVG charts, shadcn/ui
Наблюдаемость Vercel Analytics, Speed Insights, client error reports
Качество Vitest, ESLint, Prettier, Knip, CodeQL, gitleaks

Локальный запуск

Требуется Node.js 24 и npm.

git clone https://github.com/princeofscale/Formly.git
cd Formly
npm install
cp .env.local.example .env.local
npm run dev

Приложение откроется на http://localhost:3000.

Минимальные переменные окружения:

NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
CVC_API_KEY=

CVC_API_KEY — ключ шлюза CheapVibeCode, через который работают все AI-функции. Без него приложение запускается, но AI-поверхности сообщают о недоступности. Необязательный CVC_BASE_URL переопределяет адрес шлюза.

Push-уведомления дополнительно используют NEXT_PUBLIC_VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY и VAPID_CONTACT_EMAIL. Полный шаблон находится в .env.local.example.

Команды

npm run dev          # локальная разработка
npm run test         # тесты
npm run lint         # ESLint
npm run typecheck    # TypeScript
npm run format:check # проверка форматирования
npm run build        # production-сборка

Перед отправкой изменений рекомендуется выполнить npm run lint && npm run typecheck && npm run test && npm run build.

База данных

SQL-миграции находятся в supabase/migrations. Применение через Supabase CLI:

supabase db push

Никогда не добавляйте секретные ключи в Git. Все env-файлы игнорируются.

Релизы и деплой

  • Каждый push в main проверяется CI, но не деплоится автоматически.
  • Production-деплой запускается только публикацией GitHub Release на теге вида v1.2.3 через .github/workflows/release.yml. Пуш тега сам по себе ничего не деплоит.
  • Все изменения сначала добавляются в раздел Unreleased файла changelog.md, а при релизе переносятся в версию.

Production: training-ar.vercel.app

About

Formly - AI fitness tracker for workouts and progress

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages