Rutinas de clientes de Artabrianutrition
Translation pending
HealthJavaScript · PLpgSQLGitHub @artabrianutritionOnlineOwner 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.
App web para que el entrenador gestione rutinas de entrenamiento y cada cliente registre sus series desde un enlace único, sin contraseña. Es una app estática (HTML/CSS/JS con módulos ES, sin paso de build) que usa Supabase (supabase-js cargado desde CDN) como backend.Read the full README ↗
App web para que el entrenador gestione rutinas de entrenamiento y cada cliente registre sus series desde un enlace único, sin contraseña.
Es una app estática (HTML/CSS/JS con módulos ES, sin paso de build) que
usa Supabase (supabase-js cargado desde CDN) como backend.
index.html splash / enlace al panel
c/index.html vista del cliente (lee el código de la URL)
admin/login.html login del entrenador
admin/index.html dashboard: lista de clientes
admin/cliente.html editor de la rutina de un cliente
assets/css/styles.css estética Artabria
assets/js/ lógica de cada página
supabase/schema.sql tablas + seguridad (RLS) + datos de ejemplo
vercel.json rewrite para que /c/<código> funcione
Entra en tu proyecto → SQL Editor → pega el contenido completo de
supabase/schema.sql → Run.
Esto crea las tablas, las políticas de seguridad (RLS) y el cliente de
ejemplo "Borja Bravo Llinares" (enlace /c/xk29fa).
Ve a Authentication → Sign In / Providers y activa "Allow anonymous sign-ins". Es lo que permite que un cliente entre con su enlace sin registrarse ni poner contraseña — sigue siendo seguro porque cada sesión anónima solo puede leer/escribir sus propios datos (RLS).
Abre admin/login.html (en local o ya desplegado) y pulsa "¿Primera
vez? Crear cuenta" para registrarte con tu email y una contraseña.
Vuelve al SQL Editor y ejecuta (sustituyendo el email si hace falta):
insert into admins (id)
select id from auth.users where email = '[email protected]';
Ahora esa cuenta ya puede entrar al panel de entrenador.
No hace falta Node ni ningún build. Basta un servidor estático simple:
python3 -m http.server 8000
Y abre http://localhost:8000. El panel está en /admin/login.html y el
enlace de ejemplo del cliente en /c/xk29fa.
Nota: en local, rutas como
/c/xk29falas resuelve el JS leyendolocation.pathnamedirectamente sobrec/index.html; para que la URL "bonita"/c/xk29fafuncione sin elindex.htmlexplícito necesitas el rewrite devercel.json(o el equivalente de tu hosting) — en producción (Vercel) ya está configurado.
vercel deploy desde aquí (framework: Other / Static).vercel.json ya incluye el rewrite para que /c/<codigo> sirva
c/index.html manteniendo la URL.rutinas.artabrianutrition.com al proyecto de Vercel..../c/<codigo> lista para enviar por WhatsApp, email, etc.xk29fa) no es solo una URL "secreta": al abrirlo,
el cliente obtiene una sesión anónima real de Supabase Auth y esa sesión
queda vinculada a su fila en clientes mediante la función claim_cliente.
A partir de ahí, las políticas de Row Level Security comprueban
auth.uid() igual que con cualquier usuario registrado — un cliente
nunca puede ver ni modificar los datos de otro, aunque manipule las
peticiones a la API.admins para tener acceso de escritura a clientes/rutinas.