How ceoalmaloco/ms-barriodigital-catalog works
This Spring Boot service manages BarrioDigital’s procedure-type catalog and daily quotas in Oracle. Users and administrators list, create, and edit catalog entries through the REST API; the BFF also calls internal reserve/release endpoints during request admission and compensation. The service applies validation and quota rules, while the domain entity tracks daily state and the repository persists it. Startup seeding and generic error responses are separate supporting capabilities. Source excerpts establish the main call paths; Oracle connectivity and the seed’s startup role are documented in the README.
Main entry points: CatalogService.java Catalog service · CatalogController.java Catalog endpoints · ProcedureTypeSeed.java Initial catalog seed · ProcedureView.java Procedure response
Components 15
HTTP API
- Catalog endpoints
src/main/java/cl/duoc/barriodigital/catalog/web/CatalogController.java - Request DTOs
src/main/java/cl/duoc/barriodigital/catalog/web/dto - Procedure response
src/main/java/cl/duoc/barriodigital/catalog/web/dto/ProcedureView.java - Role check
src/main/java/cl/duoc/barriodigital/catalog/web/AdminCaller.java - Error responses
src/main/java/cl/duoc/barriodigital/catalog/web/CatalogExceptionHandler.java
Catalog Rules
- Catalog service
src/main/java/cl/duoc/barriodigital/catalog/service/CatalogService.java - Quota rules
src/main/java/cl/duoc/barriodigital/catalog/domain/ProcedureType.java
Oracle Persistence
- Type repository
src/main/java/cl/duoc/barriodigital/catalog/persistence/ProcedureTypeRepository.java - Oracle database
- Seed startup runner
src/main/java/cl/duoc/barriodigital/catalog/persistence/ProcedureTypeSeedRunner.java - Initial catalog seed
src/main/java/cl/duoc/barriodigital/catalog/persistence/ProcedureTypeSeed.java
Runtime Support
- Oracle wallet config
src/main/java/cl/duoc/barriodigital/catalog/config/OracleWalletConfiguration.java - Spring application
src/main/java/cl/duoc/barriodigital/catalog/CatalogApplication.java
Other components
- Users and BFF
- Admin caller
Connections 17
- Users and BFF → Catalog endpoints: calls endpoints
README.md - Admin caller → Catalog endpoints: sends admin requests
README.md - Catalog endpoints → Catalog service: delegates operations
src/main/java/cl/duoc/barriodigital/catalog/web/CatalogController.java - Catalog endpoints → Request DTOs: accepts bodies
src/main/java/cl/duoc/barriodigital/catalog/web/CatalogController.java - Catalog endpoints → Procedure response: returns views
src/main/java/cl/duoc/barriodigital/catalog/web/CatalogController.java - Catalog service → Role check: checks roles
src/main/java/cl/duoc/barriodigital/catalog/service/CatalogService.java - Catalog service → Request DTOs: validates input
src/main/java/cl/duoc/barriodigital/catalog/service/CatalogService.java - Catalog service → Procedure response: builds responses
src/main/java/cl/duoc/barriodigital/catalog/service/CatalogService.java - Procedure response → Quota rules: maps entity
src/main/java/cl/duoc/barriodigital/catalog/web/dto/ProcedureView.java - Catalog service → Quota rules: applies quota rules
src/main/java/cl/duoc/barriodigital/catalog/service/CatalogService.java - Catalog service → Type repository: reads and saves
src/main/java/cl/duoc/barriodigital/catalog/service/CatalogService.java - Type repository → Oracle database: persists catalog
README.md - Seed startup runner → Initial catalog seed: runs seeding
src/main/java/cl/duoc/barriodigital/catalog/persistence/ProcedureTypeSeedRunner.java - Initial catalog seed → Type repository: checks and saves
src/main/java/cl/duoc/barriodigital/catalog/persistence/ProcedureTypeSeed.java - Initial catalog seed → Quota rules: creates seed rows
src/main/java/cl/duoc/barriodigital/catalog/persistence/ProcedureTypeSeed.java - Oracle wallet config → Oracle database: configures connection
README.md - Spring application → Seed startup runner: starts application