How tdb-plataformaraizdobem/raiz-do-bem-api works
Raiz do Bem is a REST backend for beneficiary and social-aid administration, dental-care coordination, staff, addresses, and social programs. Its central workflow receives an aid request, processes approval, creates a beneficiary, then creates and closes dental appointments. README describes the resource/service/repository layering and broader endpoints; sampled services confirm key domain calls, persistence access, ViaCEP lookup, and Google Maps distance selection. Resource wiring and some documented subsystems are represented at directory level because their implementations were not sampled.
Main entry points: resource REST resources · repository Panache repositories · BeneficiarioService.java Beneficiaries · AtendimentoService.java Dental appointments
Components 23
REST API
- REST resources
src/main/java/br/com/raizdobem/api/resource - Request DTOs
src/main/java/br/com/raizdobem/api/dto/request - Response DTOs
src/main/java/br/com/raizdobem/api/dto/response
Domain workflows
- Aid requests
src/main/java/br/com/raizdobem/api/service/PedidoAjudaService.java - Beneficiaries
src/main/java/br/com/raizdobem/api/service/BeneficiarioService.java - Dental appointments
src/main/java/br/com/raizdobem/api/service/AtendimentoService.java - Dentist management
src/main/java/br/com/raizdobem/api/service/DentistaService.java - Dentist matching
src/main/java/br/com/raizdobem/api/service/AtendimentoMatchService.java - Staff management
src/main/java/br/com/raizdobem/api/service/ColaboradorService.java - Address services
src/main/java/br/com/raizdobem/api/service/EnderecoService.java - Social programs
src/main/java/br/com/raizdobem/api/service/ProgramaService.java - Login service
src/main/java/br/com/raizdobem/api/service/LoginService.java
Persistence
- Domain entities
src/main/java/br/com/raizdobem/api/entity - Panache repositories
src/main/java/br/com/raizdobem/api/repository - Oracle database
External services
- ViaCEP
- ViaCEP client
src/main/java/br/com/raizdobem/api/client/ViaCepClient.java - Google Maps
- Maps routing
src/main/java/br/com/raizdobem/api/service/GoogleMapsService.java - Maps client
src/main/java/br/com/raizdobem/api/client/GoogleMapsClient.java
Shared support
- DTO mappers
src/main/java/br/com/raizdobem/api/mapper - Exception handling
src/main/java/br/com/raizdobem/api/exception
Other components
- API clients
Connections 40
- API clients → REST resources: calls
- REST resources → Aid requests: dispatches
- REST resources → Beneficiaries: dispatches
- REST resources → Dental appointments: dispatches
- REST resources → Dentist management: dispatches
- REST resources → Address services: dispatches
- REST resources → Staff management: dispatches
- REST resources → Social programs: dispatches
- REST resources → Login service: dispatches
- REST resources → Request DTOs: accepts
- REST resources → Response DTOs: returns
- Aid requests → Beneficiaries: creates on approval
- Aid requests → Dentist management: checks approver
- Beneficiaries → Aid requests: reads request
- Beneficiaries → Social programs: looks up program
- Beneficiaries → Address services: updates address
- Dental appointments → Dentist matching: selects dentist
- Dental appointments → Beneficiaries: loads beneficiary
- Dental appointments → Dentist management: loads dentist
- Dental appointments → Staff management: assigns staff
- Dentist matching → Maps routing: finds proximity
- Maps routing → Maps client: requests routes
- Maps client → Google Maps: queries distances
- Address services → ViaCEP client: looks up CEP
- ViaCEP client → ViaCEP: queries address
- Aid requests → Panache repositories: persists and queries
- Beneficiaries → Panache repositories: persists and queries
- Dental appointments → Panache repositories: persists and queries
- Dentist management → Panache repositories: persists and queries
- Staff management → Panache repositories: persists and queries
- Address services → Panache repositories: persists and queries
- Social programs → Panache repositories: queries
- Panache repositories → Domain entities: loads and stores
- Panache repositories → Oracle database: reads and writes
- Aid requests → DTO mappers: maps responses
- Beneficiaries → DTO mappers: maps responses
- Dental appointments → DTO mappers: maps responses
- Dentist management → DTO mappers: maps responses
- Address services → DTO mappers: maps responses
- REST resources → Exception handling: formats failures