OpenAthlete
AGPLv3 endurance training platform: EU-oriented hosting, transparent CTL/ATL/TSB logic in code, self-hosting, and full export. Built in Grenoble.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
AI-powered fitness app: personalized workout plans (home or gym), AI diet plans, a live workout tracker, meal/water/weight tracking, progress charts and an AI coach chat.
Stack: Next.js 16 (App Router) · Tailwind CSS v4 · Supabase (Auth, Postgres + RLS, Storage) · Claude API (Sonnet 5.5 for plans & coach, Haiku 4.5 for quick estimates) · Recharts查看完整 README ↗AI-powered fitness app: personalized workout plans (home or gym), AI diet plans, a live workout tracker, meal/water/weight tracking, progress charts and an AI coach chat.
Stack: Next.js 16 (App Router) · Tailwind CSS v4 · Supabase (Auth, Postgres + RLS, Storage) · Claude API (Sonnet 5.5 for plans & coach, Haiku 4.5 for quick estimates) · Recharts
npm install
supabase/migrations/, either:
npx supabase login, npx supabase link --project-ref <ref> (asks for the database password), then npx supabase db push; or0001_init.sql, 0002_progress_photos.sql, 0003_full_persistence.sql.http://localhost:3000 and add http://localhost:3000/auth/callback to Redirect URLs.cp .env.local.example .env.local
Fill in your Supabase URL, anon key and service-role key (Project Settings → API), and your Anthropic API key (console.anthropic.com).
npm run seed:exercises
Source: free-exercise-db (public domain).
npm run dev
Open http://localhost:3000.
| Command | What it does |
|---|---|
npm run dev | Dev server |
npm run build | Production build |
npm test | Unit tests (health calculations) |
npm run typecheck | TypeScript check |
npm run lint | ESLint |
npm run seed:exercises | Load the exercise library into Supabase |
lib/fitness/calculations.ts): BMI, Mifflin–St Jeor BMR, TDEE, calorie target, macros, water. The AI receives these numbers — it never invents them.lib/ai/plans.ts): the exercise library is filtered by the user's location, equipment and level; Claude may only pick exercise ids from that list, and output is validated with Zod.app/api/ai/chat/route.ts, lib/ai/coach.ts): streams replies, knows the user's profile/plan/logs, and can propose plan changes, meal swaps or meal logs that the user applies with one tap.consume_ai_quota SQL function).Push to GitHub and import into Vercel. Add the same env vars (set NEXT_PUBLIC_SITE_URL to your production URL) and add https://your-domain/auth/callback to Supabase Redirect URLs.
FitForge provides general fitness guidance, not medical advice.