Llevar el progreso del gimnasio desde el navegador o instalada en el iPhone
Translation pending
AI summary · revised during review
HealthJavaScript · PLpgSQLGitHub @Luis7rlOnlineOwner 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 personal para llevar el progreso en gimnasio (y, más adelante, dieta, estudios y peso corporal). Es una PWA: funciona en el navegador del PC y se puede instalar en el iPhone desde Safari, sin pasar por la App Store.Read the full README ↗
App personal para llevar el progreso en gimnasio (y, más adelante, dieta, estudios y peso corporal). Es una PWA: funciona en el navegador del PC y se puede instalar en el iPhone desde Safari, sin pasar por la App Store.
supabase/schema.sql y ejecútalo. Esto crea las tablas
workouts / workout_sets con seguridad a nivel de fila (cada usuario solo ve sus propios
datos).cp .env.example .env
Edita .env y pega los valores del paso anterior:
VITE_SUPABASE_URL=https://tu-proyecto.supabase.co
VITE_SUPABASE_ANON_KEY=tu-anon-key
npm install
npm run dev
Abre la URL que muestre la terminal (normalmente http://localhost:5173). Regístrate con tu
email — Supabase te enviará un correo de confirmación antes de poder iniciar sesión (puedes
desactivar esa confirmación en Authentication → Providers → Email mientras pruebas, si
quieres saltártela).
Con el servidor solo en local (npm run dev), únicamente el PC puede acceder. Para instalarla
en el iPhone como una app hace falta que esté servida por HTTPS y accesible desde internet.
La forma más simple y gratuita es desplegarla en Vercel o Netlify:
VITE_SUPABASE_URL, VITE_SUPABASE_ANON_KEY) en la
configuración del proyecto en Vercel.https://...vercel.app.src/pages/ — pantallas: login, registro, dashboard, nuevo entrenamiento, historial, detalle.src/context/AuthContext.jsx — sesión de Supabase (login/registro/logout).src/components/Layout.jsx — navegación (barra inferior en móvil, superior en escritorio).supabase/schema.sql — tablas y políticas de seguridad (RLS).Para añadir un nuevo módulo (peso corporal, dieta, estudios...) se sigue el mismo patrón: una
tabla nueva en Supabase con RLS por user_id, una página en src/pages/, y una entrada en la
navegación de Layout.jsx.
api/hevy-sync.js es una función de Vercel que pide a la API de Hevy los entrenamientos
nuevos, editados o borrados desde la última vez y los vuelca en workouts / workout_sets.
Se ejecuta sola una vez al día (cron en vercel.json), cada vez que abres Gimnasio (si han
pasado más de 10 minutos) y con el botón Sincronizar ahora. Solo la cuenta de
src/lib/adminUser.js puede usarla, porque la clave de Hevy es de esa cuenta.
Los entrenamientos que ya importaste desde el CSV se emparejan por fecha y título, así que no se duplican.
Puesta en marcha (una sola vez):
supabase/migrations/016_hevy_sync.sql.HEVY_API_KEY: tu clave de hevy.com/settings?developer.SUPABASE_SERVICE_ROLE_KEY: en Supabase → Project Settings → API → service_role.
Es secreta: nunca con prefijo VITE_ ni en git.CRON_SECRET: cualquier texto largo inventado (Vercel lo usa para autorizar el cron).api/pasos.js recibe los pasos con una sola petición:
https://<tu-app>.vercel.app/api/pasos?pasos=8432&clave=<tu-clave> (opcional &fecha=AAAA-MM-DD,
por defecto hoy). La clave es la de webhook_secrets (ver migración 003), y los pasos se guardan
en la cuenta de src/lib/adminUser.js (migración 017).
El Atajo solo necesita tres acciones: Buscar muestras de Salud (Pasos, fecha de hoy),
Calcular estadísticas (Suma) y Obtener contenido de URL con la dirección de arriba,
poniendo el resultado de la suma en pasos=. Después, en Automatización, se programa cada
noche a las 23:30 con "Ejecutar inmediatamente".