Review - JNoxg8/App-Edu.-Financiera GitHub Wiki

Sprint Review – Sprint 1

Información General

Campo Detalle
Fecha 03/10/2026
Hora 20:00
Participantes Developers: Juan Pablo Garcia, Kevin Estupinan Sotelo, Juan Sebastian MartinezInvitados: N.A.

Objetivo del Sprint

El objetivo principal del Sprint 1 fue construir la base técnica de la aplicación Zenfi (backend en Quarkus con arquitectura hexagonal y cliente móvil en Flutter) e implementar los primeros módulos funcionales: gestión de deudas activas, perfil de usuario, registro de ingresos y gastos, y metas de ahorro, garantizando la conexión entre el frontend y el backend.

Historias de Usuario Entregadas

Código Nombre de la Historia Estado Responsable Descripción del Entregable
HU007 Registro y seguimiento de deudas activas Completada ✓ Juan Pablo Registro, edición y eliminación de deudas con cálculo automático de cuota mensual, intereses y saldo pendiente; registro de abonos con validación de reglas de negocio. Backend y pantalla en Flutter.
HU001 Crear perfil Completada ✓ Juan Pablo Creación del perfil con nombre, moneda de preferencia (COP, USD, EUR) y nivel de conocimiento financiero. El formulario solo se muestra la primera vez que el usuario ingresa a la aplicación. Backend y pantalla en Flutter.
HU009 Registro de ingresos y gastos Kevin Registro de ingresos y gastos implementado en el backend y conectado con la pantalla de movimientos en Flutter, con pruebas del manejo de la API.
HU003 Crear meta de ahorro En progreso Juan Sebastian Backend de creación de metas de ahorro en Quarkus (modelo, repositorio, DTO y servicio con validaciones) con persistencia en PostgreSQL y pruebas del endpoint. Pendiente la integración en Flutter.

Resumen de Avances Técnicos

Backend (Quarkus 3.39.4 – Java 25 – PostgreSQL)

  • Configuración del proyecto: paquete edu.ucentral.zenfi, configuración en application.yml y credenciales en variables de entorno (.env).
  • Arquitectura hexagonal organizada por módulos (dominio, aplicación e infraestructura).
  • Endpoints REST de deudas: /deudas, /deudas/{id}, /deudas/{id}/abonos.
  • Endpoints REST de perfil: GET /perfil, POST /perfil.
  • Cálculos financieros en el dominio: cuota con amortización francesa, conversión de tasa efectiva anual a mensual, intereses y saldo pendiente, usando BigDecimal para el manejo del dinero.
  • Implementación del registro de ingresos y gastos.
  • Implementación de la creación de metas de ahorro con modelo, repositorio, DTO y servicio con validaciones, y persistencia en PostgreSQL.
  • Manejo unificado de respuestas de error con el formato ResponseApi y códigos internos (VAL-400, JSON-400, REC-404, NEG-409)
  • Documentación de la API con OpenAPI y Swagger UI.
  • Pruebas automatizadas unitarias, con simulación de dependencias (mocks) y de integración con base de datos H2 en memoria.
  • Pruebas del endpoint de creación de metas de ahorro y verificación de la persistencia en PostgreSQL.

Frontend (Flutter – Dart)

  • Pantalla de listado de deudas con saldo pendiente, barra de progreso y datos calculados.
  • Formulario de registro y edición de deudas, y diálogo de registro de abonos.
  • Pantalla de arranque que verifica si existe el perfil y muestra el formulario de creación solo la primera vez.
  • Formulario de creación de perfil con validación de nombre, moneda y nivel de conocimiento
  • Barra de navegación inferior entre los módulos de Deudas y Perfil
  • Pantalla de movimientos (ingresos y gastos) conectada con el backend, con corrección de funciones lógicas y limpieza de imports innecesarios
  • Integración con el backend y mensajes de error tomados de las respuestas del servidor

Demostración

Historia de Usuario Desarrollador Demostración
HU007 Juan Pablo Garcia https://drive.google.com/file/d/1mKZ2GMjipi1JigVg5jx87E_LfG05RXhn/view?usp=sharing
HU009 Kevin Estupiñan https://drive.google.com/file/d/1R3JQ_S5PNwF7QXjr9-_ZrHPsR5s0quV-/view?usp=sharing
HU003 Juan Sebastian Martinez https://github.com/user-attachments/assets/a2ae0268-ae18-443b-9af0-37fa488bb662

Los flujos de deudas y perfil fueron probados en el emulador de Android y en navegador (Chrome), y los endpoints del backend desde Swagger UI. La creación de metas de ahorro se verificó con pruebas del endpoint y revisión de la persistencia en PostgreSQL.

Cumplimiento del Sprint

Métrica Resultado
Historias planificadas 4
Historias completadas 3
Porcentaje de cumplimiento 80%

Acciones para el Próximo Sprint

  • Subir el backend y el frontend a sus repositorios con la estructura de ramas (master, develop y feature) y abrir los Pull Requests correspondientes.
  • Aplicar la moneda de preferencia del perfil al formato de los montos en los módulos que muestran dinero.