[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81678":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":10,"openIssues":11,"contributorsCount":11,"subscribersCount":11,"size":11,"stars1d":11,"stars7d":11,"stars30d":11,"stars90d":11,"forks30d":11,"starsTrendScore":11,"compositeScore":12,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":13,"fork":13,"defaultBranch":14,"hasWiki":15,"hasPages":13,"topics":16,"createdAt":8,"pushedAt":8,"updatedAt":17,"readmeContent":18,"aiSummary":19,"trendingCount":11,"starSnapshotCount":11,"syncStatus":20,"lastSyncTime":21,"discoverSource":22},81678,"gestionpresupuestaria-backend","RicardoToledoB\u002Fgestionpresupuestaria-backend","RicardoToledoB",null,"Java",29,0,34,false,"main",true,[],"2026-06-12 04:01:34","# Plataforma de Gestión Presupuestaria DSSM\n\nProyecto base profesional para evolucionar la planilla de control presupuestario a una aplicación web con Spring Boot y Angular Material.\n\n## Estado actual\n\nEsta versión queda configurada para trabajar primero con **H2 en memoria**, sin instalar PostgreSQL ni MariaDB.\n\nEsto permite validar rápidamente:\n\n- Entidades JPA.\n- Endpoints REST.\n- Dashboard ejecutivo.\n- Mantenedores base.\n- Carga masiva desde Excel.\n- Cálculo de saldos, ejecución y alertas.\n\n## Ejecutar backend\n\n```bash\ncd backend\nmvn spring-boot:run\n```\n\nEl backend queda disponible en:\n\n```text\nhttp:\u002F\u002Flocalhost:8080\u002Fapi\u002Fv1\n```\n\n## Swagger\n\n```text\nhttp:\u002F\u002Flocalhost:8080\u002Fapi\u002Fv1\u002Fdocs\n```\n\n## Consola H2\n\n```text\nhttp:\u002F\u002Flocalhost:8080\u002Fapi\u002Fv1\u002Fh2-console\n```\n\nDatos de conexión:\n\n```text\nJDBC URL: jdbc:h2:mem:presupuesto_dssm\nUser: sa\nPassword: dejar vacío\n```\n\n## Endpoints principales\n\n- `GET \u002Fapi\u002Fv1\u002Fdashboard\u002Fsummary`\n- `GET \u002Fapi\u002Fv1\u002Fdashboard\u002Fprograms`\n- `GET \u002Fapi\u002Fv1\u002Fprograms`\n- `GET \u002Fapi\u002Fv1\u002Fproviders`\n- `GET \u002Fapi\u002Fv1\u002Fcdps`\n- `GET \u002Fapi\u002Fv1\u002Fcdps\u002Falerts`\n- `GET \u002Fapi\u002Fv1\u002Fpurchase-orders`\n- `POST \u002Fapi\u002Fv1\u002Fimports\u002Fexcel`\n\n## Importar Excel\n\nDesde Swagger o desde el frontend, usar:\n\n```text\nPOST \u002Fapi\u002Fv1\u002Fimports\u002Fexcel\n```\n\nCampo multipart:\n\n```text\nfile\n```\n\nSubir el archivo Excel original, por ejemplo:\n\n```text\nAT Direccion.xlsx\n```\n\n## Ejecutar frontend\n\n```bash\ncd frontend\nnpm install\nng serve -o\n```\n\nEl frontend consume por defecto:\n\n```text\nhttp:\u002F\u002Flocalhost:8080\u002Fapi\u002Fv1\n```\n\n## Nota senior\n\nLa seguridad está abierta en esta etapa para acelerar pruebas locales. Cuando validemos el modelo, la carga del Excel y las pantallas principales, corresponde activar:\n\n- Usuarios.\n- Roles.\n- Login.\n- JWT.\n- Auditoría.\n- Restricciones por perfil.\n\n## Próxima fase recomendada\n\n1. Levantar backend con H2.\n2. Abrir Swagger.\n3. Importar el Excel real.\n4. Revisar tablas H2.\n5. Validar dashboard y CDP.\n6. Ajustar mapeo de columnas exactas.\n7. Luego avanzar a CRUD completos y seguridad JWT.\n\n## Corrección de serialización JPA\n\nLos 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` \u002F `hibernateLazyInitializer`.\n\n## MySQL local y Railway\n\nVer instrucciones completas en `README-MYSQL.md`.\n","该项目是一个基于Spring Boot和Angular Material的预算管理平台，旨在将传统的预算控制表单升级为现代化的Web应用。其核心功能包括使用JPA实体、RESTful API接口、执行仪表盘、基础数据维护以及从Excel批量导入数据，并支持余额计算与预警机制。技术特点方面，项目初始配置采用H2内存数据库进行快速验证，同时提供Swagger文档和H2控制台以方便开发调试。适合用于需要改进现有预算管理体系的企业或组织，在确保数据准确性和实时性的同时提升用户体验。此外，项目还规划了后续安全增强措施如用户角色管理、JWT认证等，以适应更广泛的应用场景。",2,"2026-06-11 04:05:56","CREATED_QUERY"]