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,即可验证所有权并自行管理介绍。
一分钟完成验证Padel app
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A multi-tenant padel game management app for friend groups and clubs — centralizes game creation, joining, partner matching, rankings, and syncs with a WhatsApp bot so players can reply "In"/"Out" without opening the app. Portuguese-first (pt-PT), mobile-first.
Live at https://alinho.pt.
For the full product vision and constraints, read PRODUCT.md. For the design system (colors, type, components), read DESIGN.md. If you're using Claude Code, CLAUDE.md has the working conventions for this repo.查看完整 README ↗A multi-tenant padel game management app for friend groups and clubs — centralizes game creation, joining, partner matching, rankings, and syncs with a WhatsApp bot so players can reply "In"/"Out" without opening the app. Portuguese-first (pt-PT), mobile-first.
Live at https://alinho.pt.
For the full product vision and constraints, read PRODUCT.md. For the design system (colors, type, components), read DESIGN.md. If you're using Claude Code, CLAUDE.md has the working conventions for this repo.
src/ — the web app: Vite + React + Tailwind, deployed to Vercel.supabase/ — schema.sql (base schema, run once on a fresh Supabase project) plus a chronological stack of migration_*.sql files (each one already applied to the live project — see Database changes below).whatsapp-bot/ — a separate always-on Node/Baileys process that posts mix rosters into a WhatsApp group and syncs "In"/"Out" replies back to participants. See whatsapp-bot/README.md.docs/superpowers/ — design specs and implementation plans for past features, written before each change, kept as a historical record. .superpowers/sdd/ holds task briefs/reports for larger multi-step efforts. Don't rewrite these to match current state — they're point-in-time.npm install
cp .env.example .env # fill in the values — ask a teammate, or point at your own Supabase project and run supabase/schema.sql + every migration_*.sql in date order
npm run dev
Open http://localhost:5173. There's a dev-only "Entrar como Admin" shortcut on the login page (gated by import.meta.env.DEV, never ships to production) for fast local testing without going through email OTP.
lucide-react icons, vite-plugin-pwa.See DEPLOYMENT.md for the full picture (current live setup, plus how to stand up a fresh environment). Short version: the web app auto-deploys to Vercel on every push to main; the WhatsApp bot runs on an AWS EC2 free-tier instance (deploy steps in whatsapp-bot/README.md) and needs a manual redeploy for code changes to take effect.
There's no migration runner — every supabase/migration_*.sql file is meant to be pasted into the Supabase SQL Editor and run once, by hand, in the order its filename/date implies. When you add a new one, tell whoever has SQL Editor access it needs to be run — a migration file existing in the repo does not mean it's live.
Non-trivial features go through the superpowers skill workflow: brainstorm → write a design spec (docs/superpowers/specs/) → write an implementation plan (docs/superpowers/plans/) → implement → review. See CLAUDE.md for specifics on how this repo uses it.