Entrenamientos y sesiones
El plan semanal, la biblioteca de ejercicios, la página de cada entrenamiento y la sesión en vivo que registra series, repeticiones, peso y esfuerzo.
Para el paquete Full Stack
El plan de la semana
Workouts (/en/dashboard/workouts) es el inicio del entrenamiento de un miembro:
- Las sesiones completadas y el tiempo de entrenamiento del mes, y la recuperación de hoy.
- El entrenamiento de hoy según la división semanal, con el progreso de cada movimiento, y la siguiente sesión.
- El volumen de entrenamiento de la semana (peso por repeticiones) frente a la semana anterior, los músculos trabajados y las seis últimas sesiones.
- Lo que asignó el coach, y el check-in semanal de esta semana.
La biblioteca de ejercicios
/en/dashboard/workouts/exercisesmuestra cada movimiento, filtrado por músculo, equipamiento y dificultad, con uno destacado arriba, los guardados por el miembro y los últimos que vio.- La página de cada movimiento tiene sus músculos, los pasos para hacerlo, errores comunes con su corrección, un consejo, rangos de series y repeticiones para fuerza, hipertrofia, resistencia y potencia, alternativas, y el historial registrado por el propio miembro con una estimación de su máximo a una repetición.
- Los movimientos con un clip lo reproducen en un reproductor de vídeo real; un movimiento sin clip muestra su imagen. Los clips vienen en
public/assets/video/exercises. - Un miembro guarda un movimiento, o registra series, repeticiones y peso en su página.
La carga de datos incluye 23 movimientos, 16 de ellos con pasos escritos, errores, consejos y alternativas, y 6 entrenamientos.
La página de un entrenamiento
/en/dashboard/workouts/<slug> muestra los movimientos del entrenamiento con sus series y repeticiones, el equipamiento, una lista de calentamiento, los músculos que trabaja, su nivel, duración y calorías, y una nota opcional del coach. Un miembro puede guardarlo.
La sesión en vivo
/en/dashboard/workouts/session es el registro que un miembro deja abierto mientras entrena. Abre como sesión el entrenamiento planificado para hoy, o la que ya esté abierta.
- Cada serie registra peso, repeticiones y esfuerzo (RPE). La siguiente serie pasa a ser la actual, luego el siguiente movimiento, y empieza un reloj de descanso de 90 segundos, que se puede saltar.
- Junto a cada serie, el miembro ve lo que hizo en el mismo movimiento la última vez.
- Se pueden añadir movimientos del catálogo (con el último peso registrado), quitarlos (nunca el último) o saltar a ellos. La sesión admite una nota.
- Finish la cierra: sus minutos vienen del reloj y sus calorías son los minutos por 8. Se suma a las sesiones recientes, a las cifras del mes y a la página de progreso, y marca como hecho el trabajo asignado por el coach. Restart la descarta y abre de nuevo el plan de hoy.
Crear el catálogo
El personal con fitness.manage edita movimientos y entrenamientos en Content (/en/dashboard/content/exercises y /en/dashboard/content/workouts). Los miembros leen las mismas filas, así que un cambio aparece al instante en la biblioteca, el plan y la sesión.
- Un movimiento tiene nombres y textos en inglés y en árabe, un grupo muscular, equipamiento, dificultad, una imagen, un clip opcional con su póster, pasos, errores, un consejo, alternativas y rangos de series. Solo un movimiento a la vez es el destacado.
- Un entrenamiento enumera sus movimientos en orden con series y repeticiones, su equipamiento, calentamiento y músculos, nivel, enfoque, minutos y calorías.
- No se puede eliminar un movimiento que todavía usa un entrenamiento, ni un entrenamiento que todavía programa un día de un programa (
409 exercise_in_use,409 workout_in_use).
Las rutas de entrenamientos
Las lecturas necesitan fitness.view y las escrituras fitness.edit; cada escritura responde con toda la pantalla actualizada. Las rutas del catálogo bajo /api/fitness/manage necesitan fitness.manage.
| Rutas | Qué hacen |
|---|---|
GET /api/fitness/workouts, GET /api/fitness/workouts/:slug, POST /api/fitness/workouts/:slug/save | La página del plan, un entrenamiento, guardarlo |
GET /api/fitness/exercises, GET /api/fitness/exercises/:slug, POST …/:slug/save, POST …/:slug/log-set | La biblioteca (muscle, equipment, difficulty), un movimiento, guardar, registrar series ({ sets, reps, weightKg }) |
GET /api/fitness/workouts/session | La sesión abierta, creada a partir del plan de hoy cuando no hay ninguna abierta |
POST /api/fitness/workouts/session/sets/:set | Registra una serie ({ weightKg, reps, rpe }) |
POST …/session/rest/skip, PATCH …/session/notes | Salta el descanso, guarda la nota |
POST …/session/exercises, POST …/session/exercises/:slug/select, DELETE …/session/exercises/:slug | Añade un movimiento, salta a él o lo quita |
POST …/session/finish, POST …/session/restart | Termina, o descarta y empieza de nuevo |
/api/fitness/manage/exercises, /api/fitness/manage/workouts | Listar, leer, crear, cambiar y eliminar; POST /api/fitness/manage/exercises/:id/feature fija el movimiento destacado |