Proyecto base profesional para evolucionar la planilla de control presupuestario a una aplicación web con Spring Boot y Angular Material.
Esta versión queda configurada para trabajar primero con H2 en memoria, sin instalar PostgreSQL ni MariaDB.
Esto permite validar rápidamente:
- Entidades JPA.
- Endpoints REST.
- Dashboard ejecutivo.
- Mantenedores base.
- Carga masiva desde Excel.
- Cálculo de saldos, ejecución y alertas.
cd backend
mvn spring-boot:runEl backend queda disponible en:
http://localhost:8080/api/v1
http://localhost:8080/api/v1/docs
http://localhost:8080/api/v1/h2-console
Datos de conexión:
JDBC URL: jdbc:h2:mem:presupuesto_dssm
User: sa
Password: dejar vacío
GET /api/v1/dashboard/summaryGET /api/v1/dashboard/programsGET /api/v1/programsGET /api/v1/providersGET /api/v1/cdpsGET /api/v1/cdps/alertsGET /api/v1/purchase-ordersPOST /api/v1/imports/excel
Desde Swagger o desde el frontend, usar:
POST /api/v1/imports/excel
Campo multipart:
file
Subir el archivo Excel original, por ejemplo:
AT Direccion.xlsx
cd frontend
npm install
ng serve -oEl frontend consume por defecto:
http://localhost:8080/api/v1
La seguridad está abierta en esta etapa para acelerar pruebas locales. Cuando validemos el modelo, la carga del Excel y las pantallas principales, corresponde activar:
- Usuarios.
- Roles.
- Login.
- JWT.
- Auditoría.
- Restricciones por perfil.
- Levantar backend con H2.
- Abrir Swagger.
- Importar el Excel real.
- Revisar tablas H2.
- Validar dashboard y CDP.
- Ajustar mapeo de columnas exactas.
- Luego avanzar a CRUD completos y seguridad JWT.
Los endpoints de CDP y OC no exponen entidades JPA directamente. Devuelven DTOs planos (CdpResponseDto y PurchaseOrderResponseDto) para evitar errores de serialización de proxies Lazy de Hibernate, como ByteBuddyInterceptor / hibernateLazyInitializer.
Ver instrucciones completas en README-MYSQL.md.