尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 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.查看完整 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".