Repository navigation
Sprint Review2
| Campo | Detalle |
|---|---|
| Fecha | 21 de Octubre de 2026 |
| Hora | 1:30 PM |
| Participantes | Developers: Juan Loaiza, Diego García, Yeimy Villanueva |
El objetivo del Sprint fue continuar el desarrollo funcional de PetMatch mediante la implementación de historias de usuario relacionadas con la autenticación de usuarios, la gestión del perfil y la edición de las mascotas publicadas.
Durante el Sprint se trabajó principalmente en los requerimientos funcionales RQ-02, RQ-03, RQ-04 y RQ-06, ampliando la comunicación entre el frontend realizado en Flutter, el backend desarrollado con Quarkus y la base de datos PostgreSQL en Supabase.
También se aplicaron las mejoras acordadas en la retrospectiva del Sprint 1: horario fijo de Daily's (lunes y miércoles), revisión de los criterios de aceptación antes de iniciar cada HU e integración progresiva entre frontend y backend.
| Código | Nombre de la Historia | Estado | Responsable |
|---|---|---|---|
| HU02 | Inicio de sesión | Completada | Juan Loaiza |
| HU03 | Recuperación de contraseña | Completada | Juan Loaiza |
| HU04 | Consulta y edición de perfil | Completada | Diego García |
| HU06 | Edición de mascota publicada | Completada | Yeimy Villanueva |
Las historias desarrolladas durante el Sprint se encuentran relacionadas principalmente con los siguientes requerimientos funcionales:
| Requerimiento | Descripción | Historia relacionada | Estado |
|---|---|---|---|
| RQ-02 | Permitir a los usuarios registrados iniciar sesión en la plataforma con su correo y contraseña, validando sus credenciales. | HU02 | Completado |
| RQ-03 | Permitir a los usuarios recuperar el acceso a su cuenta mediante un enlace de restablecimiento de contraseña enviado a su correo. | HU03 | Completado |
| RQ-04 | Permitir a los usuarios consultar y modificar los datos de su perfil, manteniendo el correo electrónico en solo lectura. | HU04 | Completado |
| RQ-06 | Permitir a los dadores editar la información y las fotografías de una mascota ya publicada. | HU06 | Completado |
Nota: Los demás requerimientos funcionales de PetMatch hacen parte del alcance general del sistema y serán desarrollados progresivamente en los siguientes Sprints.
De acuerdo con el RQ-02, se desarrolló el flujo para que un usuario registrado pueda ingresar a la plataforma.
Se implementaron:
- Endpoint de inicio de sesión en Quarkus.
- Validación del correo y la contraseña contra la base de datos.
- Bloqueo de la cuenta tras varios intentos fallidos.
- Mensajes de error para credenciales inválidas y cuenta bloqueada.
- Pantalla de inicio de sesión en Flutter.
- Navegación a la pantalla de inicio después de iniciar sesión.
De acuerdo con el RQ-03, se desarrolló el flujo para que el usuario pueda restablecer su contraseña.
Se implementaron:
- Endpoint para solicitar la recuperación de la contraseña.
- Generación de un token con tiempo de vigencia.
- Envío del enlace de recuperación por correo electrónico.
- Endpoint para el cambio de contraseña validando el token.
- Pantallas de solicitud y cambio de contraseña en Flutter.
De acuerdo con el RQ-04, se desarrolló el módulo de perfil para que el usuario mantenga su información actualizada.
Se implementaron:
- Endpoint de consulta de los datos del perfil (foto, nombre, correo, teléfono y ubicación).
- Endpoint de edición de nombre, teléfono y ubicación con validaciones y mensajes en español.
- Carga y reemplazo de la foto de perfil (formato JPG o PNG, máximo 5 MB).
- Correo electrónico en solo lectura.
- Cambio de contraseña validando primero la contraseña actual.
- Pantalla de perfil en Flutter con modo consulta y modo edición.
- Validaciones en el cliente y mensajes de confirmación y error.
De acuerdo con el RQ-06, se desarrolló el flujo para que el dador pueda actualizar la información de una mascota publicada.
Se implementaron:
- Endpoint de edición de los datos de la mascota, reutilizando el módulo de mascotas de la HU05.
- Gestión de fotografías en la edición (agregar y quitar) respetando el límite de 1 a 6 fotos.
- Validación de formato JPG/PNG y tamaño máximo de 5 MB.
- Pantalla de edición en Flutter que carga los datos actuales de la mascota.
- Manejo de mensajes de éxito y error.
- Creación de endpoints REST para autenticación, recuperación de contraseña, perfil y edición de mascotas.
- Implementación de validaciones y reglas de negocio con mensajes en español.
- Manejo de tokens con tiempo de vigencia para la recuperación de contraseña.
- Configuración del servicio de envío de correos.
- Manejo de archivos (fotos) mediante peticiones multipart.
- Organización del código por módulos independientes para cada HU.
- Desarrollo de las pantallas de inicio de sesión, recuperación de contraseña, perfil y edición de mascota en Flutter.
- Implementación de validaciones de campos obligatorios y formatos.
- Selección, compresión y vista previa de imágenes.
- Integración de las pantallas con los endpoints de Quarkus.
- Manejo de respuestas exitosas y errores provenientes del backend.
- Uso de la base de datos PostgreSQL compartida en Supabase.
- Creación de nuevas tablas para las funcionalidades del Sprint (por ejemplo, la foto de perfil).
- Actualización de los datos de usuarios y mascotas desde las nuevas funcionalidades.
- Actualización de las ramas de trabajo desde develop al inicio del Sprint.
- Trabajo en módulos y archivos propios para evitar conflictos entre integrantes.
- Organización de los cambios mediante commits con el prefijo de cada HU.
- Realización de Pull Requests hacia develop y revisión de los cambios.
Durante el Sprint se presentaron algunos inconvenientes técnicos:
- Demora en la configuración del servidor de correo (SMTP) para el envío del enlace de recuperación.
- Dependencia de la HU04 con la HU02 para obtener el usuario autenticado, resuelta con un identificador temporal.
- Migración del entorno de desarrollo de uno de los integrantes a un equipo nuevo.
- Tiempo adicional para estudiar el módulo de mascotas de la HU05 antes de desarrollar la HU06.
Los bloqueantes fueron abordados mediante investigación, soluciones temporales documentadas y trabajo colaborativo entre los integrantes del equipo.
| Métrica | Resultado |
|---|---|
| Historias planificadas | 4 |
| Historias completadas | 4 |
| HU02 | Completada |
| HU03 | Completada |
| HU04 | Completada |
| HU06 | Completada |
| Puntos de historia (PHU) planificados | 26 |
| Puntos de historia (PHU) completados | 26 |
| Porcentaje de cumplimiento de historias | 100% |
| Elemento | Estado |
|---|---|
| RQ-01 - Registro de usuarios | Implementado (Sprint 1) |
| RQ-02 - Inicio de sesión | Implementado |
| RQ-03 - Recuperación de contraseña | Implementado |
| RQ-04 - Consulta y edición de perfil | Implementado |
| RQ-05 - Publicación de mascotas | Implementado (incluye la carga de fotografías) |
| RQ-06 - Edición de mascota publicada | Implementado |
| RQ-13 - Postulación a mascota | Implementado (Sprint 1) |
| RQ-07 a RQ-12 | Pendientes para futuros Sprints |
| RQ-14 a RQ-30 | Pendientes para futuros Sprints |
- Se completó el módulo de autenticación con inicio de sesión y recuperación de contraseña.
- Se implementó la consulta y edición del perfil de usuario, incluyendo la foto de perfil.
- Se habilitó el cambio de contraseña validando la contraseña actual.
- Se desarrolló la edición de mascotas publicadas con gestión de fotografías.
- Se completó la carga de fotografías en la publicación de mascotas (pendiente del Sprint 1).
- Se reutilizó código existente sin modificarlo, extendiéndolo desde módulos propios.
- Se cumplió el horario fijo de Daily's acordado en la retrospectiva del Sprint 1.
- Se realizaron pruebas de integración entre frontend, backend y base de datos.
- Se utilizaron ramas y Pull Requests hacia develop para organizar el código.
| Historia de Usuario | Desarrollador | Demostración |
|---|---|---|
| HU02 | Juan Manuel Loaiza Pérez |
VIDEO_HU02 |
| HU03 | Juan Manuel Loaiza Pérez |
VIDEO_HU03 |
| HU04 | Diego Alejandro García Mera |
VIDEO_HU04 |
| HU06 | Yeimy Villanueva Parra |
VIDEO_HU06 |
- Reemplazar los identificadores temporales de la HU04 y la HU05 por el usuario autenticado de la HU02.
- Continuar con las funcionalidades de búsqueda y exploración de mascotas.
- Continuar con las funcionalidades del proceso de selección de candidatos.
- Ordenar las HU por dependencias durante la planeación del Sprint.
- Crear los Pull Requests apenas cada HU esté funcional y fijar un plazo para su revisión.
- Registrar los errores encontrados como Issues en GitHub con un responsable asignado.
- Usar datos de prueba ficticios identificables y limpiar la base de datos al cerrar el Sprint.
- Mantener el horario fijo de Daily's y describir con detalle los bloqueantes.