OpenAthlete
AGPLv3 endurance training platform: EU-oriented hosting, transparent CTL/ATL/TSB logic in code, self-hosting, and full export. Built in Grenoble.
Cuotas, rutinas y avisos en un solo lugar.
Translation pending
Sports & fitnessTypeScript · HTMLGitHub @santeeeibraOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
SaaS multi-tenant (Next.js + Supabase). Ver plan-proyecto-gimnasios.md para el plan maestro. Entregable 1: scaffold + auth + panel del dueño. • Esquema de base con RLS por gimnasio (supabase/migrations/0001_init.sql) • Login por gimnasio + DNI + contraseña (email sintético interno) • Cambio de contraseña obligatorio en el primer ingreso • Panel dueño: resumen, clientes, alta de clientes, planes, registrar pagos • Vista cliente: estado de cuota • Mensajería + push • Rutinas (motor de reglas)Read the full README ↗
SaaS multi-tenant (Next.js + Supabase). Ver plan-proyecto-gimnasios.md para el plan maestro.
Entregable 1: scaffold + auth + panel del dueño.
supabase/migrations/0001_init.sql)npm installsupabase/migrations/0001_init.sql en el SQL editor..env.local.example a .env.local y completar URL + anon key + service role key.node scripts/seed.mjs "Gimnasio Olimpo" olimpo 30111222 "Juan Perez"
npm run dev y entrar en http://localhost:3000dni@<slug>.gym.local.gym + últimos 4 dígitos del DNI. debe_cambiar_clave fuerza el cambio.service_role en Server Actions
(el dueño ya pasó por requireDueno()), el resto respeta RLS con la sesión del usuario.