08 2 entrega semana 2 - lfnavarroj1/sport-app-platform GitHub Wiki
Entrega semana 2
Estado: Cerrada documentalmente. Fecha de corte: 18 de octubre de 2026, hora de Bogotá.
1. Identificación de la entrega
| Campo | Valor |
|---|---|
| Grupo | Grupo 17 |
| Estudiante y único integrante | Luis Felipe Navarro Julio |
| Periodo | 12 al 18 de octubre de 2026 |
| Sprint que se cierra | Sprint 1 |
| Sprint que se detalla | Sprint 2 |
| Objetivo | Presentar el incremento aceptado, las métricas de cierre y el backlog refinado del Sprint 2 |
| Tablero | SportApp Platform |
2. Regla de aceptación y resultado ejecutivo
El responsable del producto ratificó que una HU incluida de forma completa en las releases publicadas de sus componentes se considera funcional y aceptada. Bajo esta regla, Backend v0.2.0 y Frontend web v0.2.0 aceptan cinco HU del Sprint 1 y dos HU de Sprint 2 adelantadas. Una historia multicanal o móvil no se acepta con una release exclusivamente backend/web.
| Resultado | Valor |
|---|---|
| HU aceptadas de Sprint 1 | 5 de 10 |
| PHU aceptados de Sprint 1 | 17 de 27 |
| Valor aceptado de Sprint 1 | 19 de 32 |
| Predictibilidad del Sprint 1 | 62,96 % |
| HU de Sprint 2 aceptadas anticipadamente | 2: HU005 y HU024 |
| PHU aceptados en todo el backlog | 21 de 107 |
| Valor aceptado en todo el backlog | 25 de 107 |
3. Trazabilidad de la rúbrica
| Criterio | Puntaje máximo | Estado al corte |
|---|---|---|
| Commits / pull requests | 10 | Verificado en los cuatro repositorios |
| Flujo de trabajo y versionamiento | 5 | Backend y web publicaron v0.2.0; móvil y plataforma aún sin release |
| Ejecución de pruebas | 10 | CI de release backend/web y CI móvil/plataforma en verde |
| Peer review | Opcional | No demostrado; proyecto individual |
| Revisión automática de código | Opcional | Verificada mediante CI, análisis estático, seguridad y cobertura |
| Burndown chart | 5 | Calculado con PHU aceptados |
| Velocity chart | 5 | 17 PHU aceptados en Sprint 1 |
| Value chart | 5 | 19 puntos aceptados en Sprint 1 |
| Release burndown chart | 5 | 86 PHU pendientes de 107 |
| Code coverage chart | 5 | Backend y web con evidencia; móvil sin porcentaje consolidado |
| Retrospectiva | 5 | Registrada con acciones concretas |
| HU detalladas de Sprint 2 | 20 | Las 9 HU del Sprint 2 detalladas; se incluyen además las 10 HU del Sprint 1 para conservar trazabilidad del cierre |
| Tablero del proyecto | 10 | Sincronizado: 43 HU, 55 elementos y siete HU aceptadas |
| Video con funcionalidad | 15 | Pendiente de publicar |
La rúbrica declara 30 puntos para el cierre del sprint, aunque los cinco gráficos enumerados suman 25. Se conserva la diferencia para validación docente.
4. Evidencias de avance DevOps — 25 puntos
4.1 Commits y pull requests — 10 puntos
| Repositorio | Evidencia principal del periodo | Resultado |
|---|---|---|
| Backend | PR de HU010 #9, HU011 #12/#26, HU020 #19, HU021 #14, HU024 #28, cierre HU001 #24 y release PR #34 | Integrados; Backend v0.2.0 publicada |
| Frontend web | PR HU005 #13/#18, HU010 #14/#19, HU011 #20, HU001 #16/#17/#24, HU004 #15, HU024 #21 y release PR #28 | Integrados; Frontend web v0.2.0 publicada |
| Aplicación móvil | PR HU003 #3, HU032 #8/#14, HU035 #9, HU004 #13 y HU034 #15 | Integrados en develop; sin release móvil |
| Plataforma | PR #45, #46 y #47 | Integrados en main; sin release de plataforma |
Evidencia visual por repositorio

Figura 1. Aplicación móvil: ejecuciones de ci-mobile y release-mobile, incluidas las integraciones de HU032, HU034 y el versionamiento del APK mediante el PR #16.

Figura 2. Backend: validaciones exitosas de integración y del release v0.2.0, incluida la promoción a main mediante el PR #34.

Figura 3. Frontend web: publicación de v0.2.0 mediante el PR #28. La evidencia también muestra una ejecución fallida de v0.1.2 y sus ejecuciones posteriores exitosas, comprobando que la canalización detecta errores antes de aceptar una versión.
4.2 Flujo de trabajo y estrategia de versionamiento — 5 puntos
Se demostró el recorrido feature/* → develop → PR de release a main → tag SemVer en backend y frontend. Las releases v0.1.0, v0.1.1 y v0.2.0 se publicaron el 18 de octubre, hora de Bogotá. La validación de v0.2.0 terminó en verde en ambos componentes:
- Backend release-validation 39188313140: calidad, secretos, cuatro suites, cobertura, ocho imágenes y evidencia.
- Frontend release-web 39188316135: checks, cobertura, Playwright, contenedor y evidencia.
La release coordinada de plataforma y la release móvil siguen pendientes. Por eso las historias exclusivamente móviles o multicanal no se cierran todavía.
Figura 4. Flujo aplicado hasta la semana 2. Backend y frontend web completaron la promoción develop → main y publicaron v0.2.0; móvil dispone de CI y flujo de release, pero aún debe publicar su artefacto versionado; plataforma integra actualmente por PR a main y conserva pendiente la release coordinada de la solución.
4.3 Ejecución de pruebas — 10 puntos
Esta entrega no ejecutó pruebas desde el repositorio documental; consolida resultados registrados por CI y por los paquetes de HU.
| Componente | Evidencia | Resultado |
|---|---|---|
| Backend | Release v0.2.0, ejecución 39188313140 |
Todos los jobs en verde; último conteo documentado: 1125 pruebas y 96 % combinado |
| Frontend web | Release v0.2.0, ejecución 39188316135 |
Checks, Jasmine, cobertura, Playwright y contenedor en verde; último conteo: 802 pruebas, 97,97 % sentencias y 93,06 % ramas |
| Móvil | CI 39125697248 | Calidad, unidad/contrato, instrumentadas y APK en verde; porcentaje JaCoCo no consolidado en la documentación |
| Plataforma | validate-platform 39142897156 | Validación en verde; no demuestra aplicación de producción |
4.4 Evidencias opcionales
- Peer review: no se reclama; el proyecto tiene un solo integrante y no hay aprobación independiente registrada.
- Revisión automática: backend usa Ruff, mypy, Bandit, pip-audit y Gitleaks; web usa formato, lint, tipos, auditoría, pruebas y cobertura; móvil usa lint, Gitleaks y pruebas; plataforma valida sus políticas e infraestructura.
5. Evidencias de cierre del sprint
5.1 Estado de las HU del Sprint 1
| HU | PHU | Valor | Estado al cierre | Motivo |
|---|---|---|---|---|
| HU001 | 5 | 5 | Aceptada | Alcance web completo en releases y soporte de plataforma integrado |
| HU003 | 2 | 5 | Abierta | Sin release móvil y el BFF móvil aún debe rechazar actores no deportistas sin credenciales |
| HU010 | 5 | 5 | Aceptada | Backend, web y plataforma incluidos |
| HU011 | 2 | 2 | Aceptada | Historial y selección directa incluidos |
| HU020 | 2 | 3 | Aceptada | Disponibilidad incluida en backend y web |
| HU021 | 3 | 4 | Aceptada | Creación de evento incluida en backend y web |
| HU023 | 2 | 3 | Backlog | Sin implementación encontrada |
| HU032 | 2 | 3 | Abierta | Backend y móvil integrados, pero sin release móvil |
| HU034 | 2 | 1 | Abierta | Backend y móvil integrados, pero sin release móvil; HA014 completa pendiente |
| HU035 | 2 | 1 | Abierta | Backend y móvil integrados, HU024 resuelta, pero sin release móvil |
| Total | 27 | 32 | 17 PHU y 19 valor aceptados | 10 PHU trasladados |
5.2 Burndown chart — 5 puntos
El burndown usa trabajo restante según la definición de terminado: una HU descuenta todos sus PHU cuando queda aceptada.
| Corte | Esperado restante | Real restante | Desviación |
|---|---|---|---|
| Inicio | 27 | 27 | 0 |
| Fin semana 1 | 13,5 | 27 | +13,5 |
| Fin semana 2 | 0 | 10 | +10 |
Figura. La curva azul conserva la trayectoria esperada 27 → 13,5 → 0; la curva roja registra el saldo real 27 → 27 → 10. El sprint cierra con 10 PHU de arrastre.
Resultado: el sprint cierra con 10 PHU de arrastre.
5.3 Velocity chart — 5 puntos
| Métrica | PHU |
|---|---|
| Comprometidos | 27 |
| Aceptados | 17 |
| No aceptados | 10 |
Desarrollo — compromiso del Sprint 1
Figura. La trayectoria real reconoce las HU al quedar aceptadas: 0 PHU al primer corte y 17 PHU al cierre, frente a 27 PHU comprometidos.
Producción — avance del proyecto
Figura. La producción acumulada alcanza 21 PHU: 17 del Sprint 1 y 4 aceptados anticipadamente del Sprint 2. La referencia al cierre del primer sprint era 27 PHU.
La velocidad oficial del primer sprint es 17 PHU. No hay un sprint anterior comparable.
5.4 Value chart — 5 puntos
| Métrica de Sprint 1 | Puntos de valor |
|---|---|
| Planificados | 32 |
| Aceptados | 19 |
| Pendientes | 13 |
Desarrollo — valor del Sprint 1
Figura. El Sprint 1 acepta 19 de los 32 puntos de valor comprometidos; quedan 13 puntos asociados a HU no aceptadas.
Producción — valor del proyecto
Figura. El valor aceptado acumulado llega a 25 puntos al incluir los 6 puntos anticipados de HU005 y HU024; la referencia al cierre del Sprint 1 era 32.
HU005 y HU024 aportan otros 6 puntos aceptados de Sprint 2 de forma anticipada; no se suman al valor ni a la velocidad del Sprint 1.
5.5 Release burndown chart — 5 puntos
El catálogo pasó de 100 a 107 PHU al incorporar HU041–HU043. Las siete HU aceptadas suman 21 PHU: 17 de Sprint 1 y 4 de Sprint 2 adelantadas.
| Hito | Alcance vigente | PHU aceptados acumulados | PHU restantes |
|---|---|---|---|
| Línea base inicial | 100 | 0 | 100 |
| Cambio de alcance | 107 | 0 | 107 |
| Cierre Sprint 1 | 107 | 21 | 86 |
| Meta esperada tras Sprint 1 | 107 | 27 | 80 |
Figura. Con el alcance vigente de 107 PHU, el saldo real es 86 y el esperado era 80. El cambio desde la línea base de 100 PHU queda registrado en la tabla anterior y no se oculta en la serie.
La release queda 6 PHU por encima del saldo esperado, aunque adelantó 4 PHU asignados al Sprint 2.
5.6 Code coverage chart — 5 puntos
No se mezclan métricas incompatibles: backend publica una cobertura combinada; web separa sentencias y ramas; móvil todavía no tiene porcentaje consolidado en esta documentación.
Figura. Backend reporta 96 % combinado; web, 97,97 % de sentencias y 93,06 % de ramas. La cobertura móvil consolidada permanece N/D y no se representa como cero.
6. Retrospectiva — 5 puntos
| Aspecto | Resultado |
|---|---|
| Qué salió bien | Se completó el flujo de release de backend y web; la CI de release quedó verde; cinco HU del sprint fueron aceptadas y dos de Sprint 2 se adelantaron |
| Qué no salió bien | El tablero no siguió el ritmo del código; no se publicó release móvil ni de plataforma; HU023 no inició; varias HU móviles quedaron integradas pero no liberadas |
| Qué aprendimos | Un PR integrado no basta para medir velocidad, pero una release completa ratificada por el responsable sí puede cerrar la HU; los estados deben actualizarse en el mismo flujo de release |
| Qué cambiaremos | Actualizar el Project en el mismo cierre de cada release, crear la release móvil y preparar la release coordinada de plataforma antes de iniciar más HU |
| Acción | Project sincronizado con las siete aceptaciones y HU041–HU043; siguiente acción: liberar móvil; responsable: Luis Felipe Navarro Julio |
7. Historias de usuario detalladas de los Sprint 1 y 2 — 20 puntos
El detalle se consolidó desde el catálogo de historias, las historias de cada dominio y los paquetes de asignación. El estado corresponde al corte del 18 de octubre de 2026. La rúbrica solicita las historias del Sprint 2; se agregan también todas las del Sprint 1 para relacionar el cierre presentado en esta entrega con el siguiente compromiso.
7.1 Sprint 1 — resumen
| HU | Título | Dominio | Canal | PHU | Valor | Estado al cierre |
|---|---|---|---|---|---|---|
| HU001 | Registrar usuario | Usuarios | Web | 5 | 5 | Aceptada |
| HU003 | Iniciar sesión | Usuarios | Web y móvil | 2 | 5 | Abierta: falta release móvil y completar la restricción de actores del BFF móvil |
| HU010 | Crear plan de entrenamiento | Entrenamientos | Web | 5 | 5 | Aceptada |
| HU011 | Ver historial de entrenamiento | Entrenamientos | Web | 2 | 2 | Aceptada |
| HU020 | Visualizar disponibilidad | Servicios | Web | 2 | 3 | Aceptada |
| HU021 | Crear evento masivo | Eventos | Web | 3 | 4 | Aceptada |
| HU023 | Consultar calendario de eventos | Eventos | Web | 2 | 3 | Backlog: sin implementación encontrada |
| HU032 | Iniciar o finalizar entrenamiento | Entrenamientos | Móvil | 2 | 3 | Abierta: backend y móvil integrados, sin release móvil |
| HU034 | Calcular FTP y VO₂max | Entrenamientos | Móvil | 2 | 1 | Abierta: backend y móvil integrados, sin release móvil; HA014 pendiente |
| HU035 | Ver calendario deportivo | Eventos | Móvil | 2 | 1 | Abierta: backend y móvil integrados, sin release móvil |
| Total | 10 HU | — | — | 27 | 32 | 5 aceptadas; 5 trasladadas |
7.2 Sprint 1 — detalle de las historias
HU001 — Registrar usuario
- Narrativa: como usuario potencial de SportApp, quiero registrar mis datos básicos para crear un perfil y acceder a las capacidades correspondientes a mi rol.
- Alcance: registro web con validaciones, aceptación de las políticas obligatorias de tratamiento de datos, contraseña protegida y asignación automática del plan
FREEúnicamente al deportista medianteusuario.registrado.v1. - Criterios clave: crea una sola cuenta con correo normalizado; rechaza correos repetidos o campos inválidos sin persistencia parcial; no almacena contraseñas en texto plano y no asigna una afiliación deportiva a organizadores o profesionales.
- Paquete: HU001 Registrar usuario.
HU003 — Iniciar sesión
- Narrativa: como usuario registrado, quiero autenticarme en el canal autorizado para acceder a mis datos y funciones; como deportista, también quiero ingresar desde la aplicación móvil.
- Alcance: acceso web para deportistas, organizadores y profesionales; acceso móvil exclusivamente para deportistas; emisión y almacenamiento seguro de credenciales, navegación por actor y controles contra abuso.
- Criterios clave: las credenciales válidas generan identidad y tokens con expiración; los errores son genéricos y no permiten descubrir cuentas; el BFF móvil rechaza a cualquier actor distinto de
athletesin devolver credenciales de sesión. - Paquete: HU003 Iniciar sesión.
HU010 — Crear plan de entrenamiento
- Narrativa: como profesional autorizado, quiero crear y asignar un plan de entrenamiento personalizado para orientar la práctica de un deportista.
- Alcance: editor web con objetivos, periodo, sesiones e intensidad; búsqueda del deportista, verificación de la autorización vigente, versionamiento y asignación del plan.
- Criterios clave: asocia el plan con deportista, profesional y periodo; rechaza actores o relaciones no autorizadas; no guarda fechas invertidas, sesiones incompatibles ni intensidades fuera de rango.
- Paquete: HU010 Crear plan de entrenamiento.
HU011 — Ver historial de entrenamiento
- Narrativa: como deportista o profesional autorizado, quiero consultar el historial de entrenamientos para evaluar el progreso.
- Alcance: consulta web paginada y filtrable; el profesional puede seleccionar por nombre y correo únicamente a los deportistas que mantienen una autorización vigente.
- Criterios clave: devuelve registros autorizados en orden estable; sin registros entrega una colección vacía; al revocar la relación, el profesional deja de ver al deportista y su historial.
- Paquete: HU011 Ver historial de entrenamiento.
HU020 — Visualizar disponibilidad de servicios
- Narrativa: como deportista registrado, quiero consultar la disponibilidad de servicios para planificar mis actividades.
- Alcance: catálogo web de servicios publicados, filtros por categoría y modalidad, intervalos ajustados a la zona del navegador, tarifa informativa en COP y paginación.
- Criterios clave: limita la consulta a periodos de hasta 31 días; diferencia servicios disponibles de los que no tienen intervalos en el rango; restringe
SPORTS_MEDICINEa la capacidad correspondiente y declara las categorías restringidas. - Paquete: HU020 Visualizar disponibilidad.
HU021 — Crear evento masivo
- Narrativa: como organizador registrado, quiero crear un evento deportivo para preparar su posterior publicación y promover participación.
- Alcance: formulario web y comando de creación con nombre, ubicación, disciplina, fecha, zona horaria, duración y capacidad; el evento nace como
DRAFT, versión1. - Criterios clave: solo un organizador con
events.createpuede crearlo; el identificador del organizador proviene de su identidad; los datos inválidos producen422 validation_errorsin dejar información parcial. - Paquete: HU021 Crear evento masivo.
HU023 — Consultar calendario de eventos
- Narrativa: como organizador, quiero consultar eventos existentes para elegir fechas que reduzcan conflictos con el público objetivo.
- Alcance: calendario web de eventos publicados con filtros por periodo, disciplina y ciudad, más una consulta de coincidencias para los eventos propios.
- Criterios clave: solo devuelve eventos
PUBLISHED; considera coincidencia cuando hay solapamiento temporal y coincide disciplina o ciudad; rechaza periodos inválidos o mayores de 92 días. - Dependencia: necesita la publicación de eventos definida por HU024.
- Paquete: HU023 Consultar calendario.
HU032 — Iniciar o finalizar entrenamiento
- Narrativa: como deportista, quiero iniciar y finalizar una sesión para registrar su duración.
- Alcance: experiencia móvil offline first con deporte, plan opcional, cronómetro y estados
LOCAL,PENDING_SYNC,SYNCEDySYNC_FAILED; el backend calcula la duración oficial. - Criterios clave: solo permite una sesión
ACTIVEpor deportista; finalizar produceFINISHEDy duración no negativa; la cola cifrada conserva inicio y fin y los sincroniza en orden al recuperar conectividad. - Paquete: HU032 Iniciar o finalizar entrenamiento.
HU034 — Calcular indicadores FTP y VO₂max
- Narrativa: como deportista, quiero calcular estimaciones de FTP y VO₂max con un método identificado para seguir mi rendimiento sin confundirlas con un diagnóstico.
- Alcance: catálogo de métodos, captura e historial móvil con soporte sin conexión; cálculo oficial, persistencia y consulta en Gestión de entrenamientos.
- Criterios clave:
FTP_20_MIN_95_V1calcula 238 W a partir de 250 W;COOPER_12_MIN_V1calcula 42,4 mL/kg/min a partir de 2.400 m; toda visualización identifica método, unidad, fecha y advertencia de estimación no diagnóstica. - Paquete: HU034 Calcular FTP y VO₂max.
HU035 — Ver calendario deportivo
- Narrativa: como deportista, quiero consultar en un solo calendario los eventos publicados y las sesiones planificadas de mis planes de entrenamiento para organizar mi tiempo.
- Alcance: calendario móvil con vista mensual o lista, fuentes diferenciadas, zona del dispositivo y caché cifrada; el BFF móvil compone Eventos y Entrenamientos.
- Criterios clave: solo incluye eventos publicados y sesiones propias; admite periodos de hasta 92 días; sin red muestra la última consulta con
last_synced_aty nunca presenta una fuente indisponible como un calendario vacío. - Dependencias: HU024 para eventos publicados y HU010 para sesiones de planes asignados.
- Paquete: HU035 Ver calendario deportivo.
7.3 Sprint 2 — resumen
| HU | Título | Dominio | Canal | PHU | Valor | Estado de entrada |
|---|---|---|---|---|---|---|
| HU005 | Registrar datos demográficos y fisiológicos | Usuarios | Web | 2 | 3 | Aceptada anticipadamente |
| HU006 | Registrar hábitos deportivos | Usuarios | Web | 2 | 3 | Preparada |
| HU014 | Crear plan de alimentación | Entrenamientos | Web | 3 | 4 | Preparada |
| HU015 | Crear servicio | Servicios | Web | 3 | 4 | Backend liberado; web pendiente |
| HU016 | Seleccionar o cambiar plan de afiliación | Afiliación | Web | 2 | 4 | Preparada |
| HU019 | Publicar servicios | Servicios | Web | 2 | 3 | Backend liberado; web pendiente |
| HU024 | Publicar evento | Eventos | Web | 2 | 3 | Aceptada anticipadamente |
| HU028 | Sugerir planes de entrenamiento | Entrenamientos | Web y móvil | 2 | 3 | Preparada |
| HU033 | Ver tablero de entrenamientos | Entrenamientos | Móvil | 2 | 2 | Preparada |
| Total | 9 HU | — | — | 20 | 29 | 4 PHU aceptados; 16 por ejecutar |
7.4 Sprint 2 — detalle de las historias
HU005 — Registrar datos demográficos y fisiológicos
- Narrativa: como deportista registrado, quiero registrar datos demográficos y fisiológicos para habilitar personalización posterior.
- Alcance: perfil web con catálogos cerrados, unidades, consentimiento versionado para datos de salud, IMC calculado por el backend y control de versiones independiente por sección.
- Criterios clave: normaliza y asocia los datos únicamente al deportista; rechaza valores fuera de rango o campos no permitidos sin actualización parcial; exige el consentimiento vigente y no expone información de salud en logs, métricas o auditoría.
- Paquete: HU005 Registrar datos demográficos y fisiológicos.
HU006 — Registrar hábitos deportivos
- Narrativa: como deportista registrado, quiero declarar mis hábitos deportivos para que puedan utilizarse al personalizar entrenamientos.
- Alcance: perfil web con hasta cinco deportes, frecuencia, duración, intensidad, nivel, días, franjas y objetivo; actualización versionada y proyección en el perfil.
- Criterios clave: acepta y normaliza hábitos válidos; rechaza deportes desconocidos o repetidos y rangos inválidos; registrar hábitos no crea automáticamente planes ni recomendaciones.
- Paquete: HU006 Registrar hábitos deportivos.
HU014 — Crear plan de alimentación
- Narrativa: como profesional autorizado, quiero crear un plan de alimentación personalizado para apoyar el rendimiento y la recuperación del deportista.
- Alcance: editor web con deportista, objetivos, periodo, comidas y alimentos del catálogo; consulta de alergias y restricciones antes de confirmar un plan
ASSIGNED. - Criterios clave: solo un profesional autorizado puede crear el plan; una alergia o restricción incompatible bloquea toda la operación; la ausencia de hábitos genera advertencias, pero no inventa información ni impide el plan.
- Dependencias: autorización y búsqueda de HU010, restricciones de HU009 y catálogo de alimentos de HU043.
- Paquete: HU014 Crear plan de alimentación.
HU015 — Crear servicio
- Narrativa: como profesional registrado, quiero crear un servicio para preparar su oferta a los usuarios de SportApp.
- Alcance: formulario web con categoría, modalidad, descripción, tarifa en COP, unidad de cobro y disponibilidad inicial opcional; el servicio nace como
DRAFT, versión1. - Criterios clave: el proveedor se toma de la identidad y no del cuerpo; se rechazan moneda, tarifa, catálogos o longitudes inválidas; crear el borrador no publica, contrata ni cobra el servicio.
- Paquete: HU015 Crear servicio.
HU016 — Seleccionar o cambiar plan de afiliación
- Narrativa: como deportista registrado con plan gratuito inicial, quiero comparar y cambiar mi plan de afiliación para acceder a servicios acordes con mis necesidades.
- Alcance: pantalla web «Mi plan» con plan actual, capacidades y ofertas mensual, trimestral o anual; cambio inmediato e historial, sin procesamiento de pagos.
- Criterios clave: mantiene una sola suscripción
ACTIVE; rechaza planes o periodicidades incoherentes sin alterar la afiliación actual; los tres planes, versiones, ofertas y capacidades deben quedar precargados al iniciar el backend. - Regla: los planes pagos producen un compromiso informativo
PENDING_EXTERNAL; SportApp no afirma ni procesa el cobro. - Paquete: HU016 Seleccionar o cambiar plan.
HU019 — Publicar servicios
- Narrativa: como profesional registrado, quiero publicar un servicio completo para hacerlo visible a los usuarios.
- Alcance: revisión web del borrador y requisitos faltantes; transición a
PUBLISHED, outbox transaccional y publicación asíncrona deservicio.publicado.v1mediante Pub/Sub. - Criterios clave: exige tarifa válida y al menos un intervalo futuro; un borrador incompleto conserva su estado y enumera los faltantes; solo el propietario con
services.publishpuede publicarlo. - Arquitectura: Servicios complementarios conserva una sola base de datos y no aplica CQRS; HU020 consulta esa misma base.
- Paquete: HU019 Publicar servicios.
HU024 — Publicar evento
- Narrativa: como organizador, quiero publicar un evento completo para hacerlo visible y permitir inscripciones.
- Alcance: lista web de borradores y publicados, detalle, requisitos faltantes y confirmación; transición
DRAFT→PUBLISHEDconpublished_aty versión incrementada. - Criterios clave: solo el propietario con
events.publishpuede publicar; un evento inválido o iniciado permanece como borrador y devuelve los faltantes; repetir una publicación válida no crea una segunda transición. - Dependencia: parte del borrador creado por HU021; no exige tarifa de HU025.
- Paquete: HU024 Publicar evento.
HU028 — Sugerir planes de entrenamiento
- Narrativa: como deportista, quiero recibir plantillas de plan de entrenamiento publicadas por profesionales compatibles con mi deporte y objetivo para elegir una adecuada.
- Alcance: publicación y retiro web de plantillas profesionales y consulta de sugerencias para web y móvil; las coincidencias se explican mediante razones visibles.
- Criterios clave: exige coincidencia de deporte para personalizar y prioriza el objetivo; sin contexto devuelve una lista explícitamente no personalizada con
missing_context; sugerir una plantilla no la asigna ni inicia como plan de HU010. - Dependencia: utiliza deportes y objetivo registrados por HU006.
- Paquete: HU028 Sugerir planes de entrenamiento.
HU033 — Ver tablero de entrenamientos
- Narrativa: como deportista, quiero ver un tablero de entrenamientos realizados para comprender mi actividad y progreso.
- Alcance: tablero móvil para periodos de 7, 30 o 90 días o personalizado, con totales, distribución semanal y por deporte, fuentes y últimos indicadores FTP/VO₂max; incluye alternativa textual y caché cifrada.
- Criterios clave: agrega sesiones e indicadores en un periodo máximo de 366 días; sin datos devuelve totales en cero y un estado vacío, sin inventar gráficos; solo el deportista consulta su propio tablero.
- Dependencia: requiere el historial de sesiones generado por HU032; puede incorporar indicadores de HU034 y sesiones provenientes de Strava cuando exista HU031.
- Paquete: HU033 Ver tablero de entrenamientos.
8. Tablero del proyecto — 10 puntos
El Project 4 quedó sincronizado con 55 elementos y 43 HU. Registra:
Aceptada/Done, 100 % y fecha 2026-10-18: HU001, HU005, HU010, HU011, HU020, HU021 y HU024.- abiertas de Sprint 1: HU003, HU023, HU032, HU034 y HU035.
- HU041 en
En curso/50 %, con backend publicado y móvil pendiente. - HU042 y HU043 en
Backlog/0 %.
La descripción y la portada del Project también reflejan 43 HU, 107 PHU, 107 puntos de valor y las siete aceptaciones.
9. Video con evidencias y funcionalidad — 15 puntos
El video continúa pendiente de publicación. Debe demostrar registro, plan de entrenamiento, historial, disponibilidad, creación y publicación de eventos, además de las releases y los gráficos de cierre.
9. Video con evidencias y funcionalidad — 15 puntos
El video continúa pendiente de publicación. Debe demostrar registro, plan de entrenamiento, historial, disponibilidad, creación y publicación de eventos, además de las releases y los gráficos de cierre.
| Evidencia | Estado |
|---|---|
| Youtube | https://youtu.be/Dr4_PwC--dI |
10. Enlaces oficiales del proyecto
| Recurso | Enlace |
|---|---|
| Repositorio integrador y de infraestructura | sport-app-platform |
| Repositorio backend | sport-app-backend |
| Repositorio frontend web | sport-app-frontend |
| Repositorio móvil | sport-app-movil |
| Tablero de actividades | SportApp Platform — GitHub Project |
| Wiki del proyecto | SportApp Platform Wiki |
| Versión web de esta entrega | Entrega de la semana 2 |