Sprint Review #1 - Xertorx/APP_SADM GitHub Wiki
Sprint Review - Sprint 1
Información General
| Campo | Detalle |
|---|---|
| Fecha | 2 de Octubre de 2026 |
| Hora | 1:30 PM |
| Participantes | Developers: Juan Loaiza, Diego Garcia, Yeimy Villanueva |
Objetivo del Sprint
El objetivo del Sprint fue iniciar el desarrollo funcional de PetMatch mediante la implementación de historias de usuario relacionadas con la publicación de mascotas y el proceso inicial de postulación para adopción.
Durante el Sprint se trabajó principalmente en los requerimientos funcionales RQ-05 y RQ-13, desarrollando la comunicación entre el frontend realizado en Flutter, el backend desarrollado con Quarkus y la base de datos PostgreSQL.
También se realizaron configuraciones iniciales del entorno de desarrollo, implementación de endpoints, validaciones, reglas de negocio y pruebas de integración entre los diferentes componentes del sistema.
Historias de Usuario Entregadas
| Código | Nombre de la Historia | Estado | Responsable |
|---|---|---|---|
| HU01 | Registrar mascota | Completada | Juan Loaiza |
| HU05 | Publicar mascota para adopción | Completada | Diego Garcia |
| HU13 | Postularse para adoptar una mascota | Completada | Yeimy Villanueva |
Requerimientos Funcionales Relacionados
Las historias desarrolladas durante el Sprint se encuentran relacionadas principalmente con los siguientes requerimientos funcionales:
| Requerimiento | Descripción | Historia relacionada | Estado |
|---|---|---|---|
| RQ-05 | Permitir a los dadores publicar mascotas disponibles para adopción mediante un formulario con la información de la mascota y sus fotografías. | HU05 | En desarrollo / criterios implementados |
| RQ-13 | Permitir a los adoptantes postularse a una mascota disponible, registrando la postulación y ubicando al candidato en la primera etapa del proceso de selección. | HU13 | 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.
Funcionalidades Implementadas
HU01 - Registrar mascota
- Desarrollo del endpoint para el registro de mascotas utilizando Quarkus.
- Implementación de reglas de negocio para evitar el ingreso de datos incorrectos.
- Implementación de validaciones en el backend.
- Conexión del backend con PostgreSQL.
- Configuración de variables de entorno para la conexión con la base de datos.
- Exposición del endpoint para ser consumido desde Flutter.
- Ajuste de mensajes de error para diferentes respuestas del endpoint.
- Integración del endpoint con el frontend.
HU05 - Publicar mascota para adopción
De acuerdo con el RQ-05, se desarrolló el formulario para que el dador pueda registrar una mascota disponible para adopción.
Se implementaron los siguientes campos:
- Nombre.
- Especie.
- Raza.
- Edad.
- Tamaño.
- Sexo.
- Temperamento.
- Historial de salud.
- Ubicación.
Además:
- Los campos fueron definidos como obligatorios.
- Se implementaron validaciones del lado de Flutter.
- Se agregaron mensajes de error cuando un campo obligatorio queda vacío.
- Se conectó el formulario de Flutter con el endpoint
POST /mascotasde Quarkus. - La información se envía al backend en formato JSON.
- Los datos son almacenados en PostgreSQL.
- Se inició la implementación del criterio relacionado con la carga de fotografías de la mascota.
HU13 - Postularse a una mascota
De acuerdo con el RQ-13, se desarrolló el flujo inicial para que un adoptante pueda postularse a una mascota disponible.
Se implementaron:
- Endpoint para registrar la postulación.
- Validación de disponibilidad de la mascota.
- Control para evitar postulaciones duplicadas.
- Registro del estado inicial de la postulación.
- Asignación de la etapa inicial como "Etapa 1 en curso".
- Asignación de puntaje inicial de 0.
- Desarrollo de la vista de detalle en Flutter.
- Implementación del modal de confirmación.
- Consumo del endpoint desde Flutter.
- Manejo de mensajes de éxito y error.
Resumen de Avances Técnicos
Backend
- Configuración y desarrollo del backend utilizando Quarkus.
- Creación de endpoints REST para las historias desarrolladas.
- Implementación de validaciones y reglas de negocio.
- Conexión con la base de datos PostgreSQL.
- Configuración de variables de entorno.
- Implementación de mensajes de error para diferentes situaciones.
- Validación de disponibilidad de mascotas.
- Control de postulaciones duplicadas.
- Manejo del estado inicial de las postulaciones.
Frontend
- Desarrollo del frontend utilizando Flutter.
- Creación del formulario para publicar mascotas.
- Implementación de validaciones de campos obligatorios.
- Implementación de mensajes de error.
- Integración de formularios con los endpoints de Quarkus.
- Desarrollo de la vista de detalle de mascota.
- Implementación del modal de confirmación para realizar una postulación.
- Manejo de respuestas exitosas y errores provenientes del backend.
Base de Datos
- Configuración de PostgreSQL.
- Conexión del backend de Quarkus con la base de datos.
- Almacenamiento de la información de las mascotas.
- Configuración de variables de entorno para la conexión.
- Solución de problemas de conexión presentados durante el desarrollo.
Control de Versiones
- Creación y utilización de ramas para el desarrollo de las historias.
- Organización de los cambios mediante commits.
- Realización de Pull Requests.
- Revisión e integración de los cambios desarrollados.
Bloqueantes Presentados
Durante el Sprint se presentaron algunos inconvenientes técnicos:
- Problemas iniciales al crear el proyecto Quarkus debido a una incompatibilidad de la dependencia Mockito con el JDK.
- Problemas de conexión con PostgreSQL durante el desarrollo de algunas historias.
- Configuraciones iniciales del entorno local para trabajar con Quarkus y Flutter.
- Ajustes necesarios en los mensajes de error de los endpoints.
- Ajustes en las validaciones de los formularios y criterios de aceptación.
Los bloqueantes fueron abordados mediante investigación y trabajo colaborativo entre los integrantes del equipo.
Cumplimiento del Sprint
| Métrica | Resultado |
|---|---|
| Historias planificadas | 3 |
| Historias completadas | 3 |
| HU01 | Completada |
| HU05 | Completada |
| HU13 | Completada |
| Porcentaje de cumplimiento de historias | 100% |
Alcance funcional del Sprint
| Elemento | Estado |
|---|---|
| RQ-05 - Publicación de mascotas | Implementado parcialmente según los criterios trabajados en el Sprint |
| RQ-13 - Postulación a mascota | Implementado |
| RQ-01 a RQ-04 | Pendientes para futuros Sprints |
| RQ-06 a RQ-12 | Pendientes para futuros Sprints |
| RQ-14 a RQ-30 | Pendientes para futuros Sprints |
Principales Logros del Sprint
- Se configuró el entorno de desarrollo para trabajar con Quarkus y Flutter.
- Se desarrollaron endpoints REST para las funcionalidades trabajadas.
- Se logró conectar Flutter con los servicios de Quarkus.
- Se estableció la conexión entre Quarkus y PostgreSQL.
- Se implementaron validaciones tanto en frontend como en backend.
- Se implementaron reglas de negocio para controlar el registro y las postulaciones.
- Se desarrolló el formulario de publicación de mascotas.
- Se desarrolló el flujo inicial de postulación a una mascota.
- Se implementó el control de postulaciones duplicadas.
- Se implementó el estado inicial de la postulación como "Etapa 1 en curso".
- Se realizaron pruebas de integración entre frontend, backend y base de datos.
- Se utilizaron ramas y Pull Requests para organizar el código.
- Se trabajó colaborativamente para solucionar los bloqueantes técnicos encontrados durante el Sprint.
Demostración
| Historia de Usuario | Desarrollador | Desmostracion |
|---|---|---|
| HU001 | Juan Manuel Loaiza Perez | https://github.com/user-attachments/assets/ea4c811b-b2c2-4351-8dff-242235075b86 |
| HU05 | Diego Garcia | https://github.com/user-attachments/assets/37be07d3-a258-40ca-97de-a5bd06ff0c7b |
| HU13 | Yeimy Villanueva Parra | https://github.com/user-attachments/assets/d412861f-5625-41e9-916f-1eed4f48d5e4 |
Acciones para el Próximo Sprint
- Continuar con las funcionalidades pendientes relacionadas con la publicación de mascotas.
- Completar la carga de fotografías de las mascotas, estableciendo los formatos y tamaños permitidos.
- Continuar con las funcionalidades relacionadas con el proceso de selección de candidatos.
- Revisar y desarrollar los criterios correspondientes a las siguientes etapas del proceso de adopción.
- Continuar fortaleciendo las validaciones del frontend y backend.
- Realizar pruebas de integración desde las primeras etapas del desarrollo.
- Mantener una estrategia organizada de ramas, commits y Pull Requests.
- Revisar previamente las dependencias y versiones utilizadas en el proyecto para evitar problemas de compatibilidad.
- Mantener una comunicación constante entre los integrantes del equipo.
- Establecer horarios definidos para los Daily's y registrar oportunamente los avances, bloqueantes y próximas actividades.