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 /mascotas de 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.