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
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.