How rafael-mesquita-reinaldo/api-sistema-de-agendamento works
This repository is a Spring-based appointment scheduling API. Users submit appointment and catalog requests through REST controllers; services apply business rules, map domain data, and use repositories for persistence. The clearest documented workflow is appointment creation and management, including client, professional, and service lookup, validation, and status changes. The source index and excerpts support these relationships, but the README is empty and authentication, deployment, and database configuration are not established here.
Main entry points: AgendamentoService.java Appointment management · repository JPA repositories · ClientService.java Client management · ProfissionalService.java Professional management
Components 20
REST API
- Appointment endpoints
src/main/java/com/rafael/apiagendamento/controller/AgendamentoController.java - Client endpoints
src/main/java/com/rafael/apiagendamento/controller/ClientController.java - Professional endpoints
src/main/java/com/rafael/apiagendamento/controller/ProfissionalController.java - Service endpoints
src/main/java/com/rafael/apiagendamento/controller/ServicoController.java - User endpoints
src/main/java/com/rafael/apiagendamento/controller/UserController.java
Scheduling Domain
- Appointment management
src/main/java/com/rafael/apiagendamento/service/AgendamentoService.java - Schedule validators
src/main/java/com/rafael/apiagendamento/validator/Validador.java - Appointment filters
src/main/java/com/rafael/apiagendamento/specification/AgendamentoSpecification.java - Appointment mapping
src/main/java/com/rafael/apiagendamento/mappers/AgendamentoMapper.java
People and Services
- Client management
src/main/java/com/rafael/apiagendamento/service/ClientService.java - Professional management
src/main/java/com/rafael/apiagendamento/service/ProfissionalService.java - Service management
src/main/java/com/rafael/apiagendamento/service/ServicoService.java - User management
src/main/java/com/rafael/apiagendamento/service/UserService.java - Client mapping
src/main/java/com/rafael/apiagendamento/mappers/ClientMapper.java - Professional mapping
src/main/java/com/rafael/apiagendamento/mappers/ProfissionalMapper.java - Service mapping
src/main/java/com/rafael/apiagendamento/mappers/ServicoMapper.java
Persistence and Errors
- JPA repositories
src/main/java/com/rafael/apiagendamento/repository - Domain entities
src/main/java/com/rafael/apiagendamento/model - API error handling
src/main/java/com/rafael/apiagendamento/handler/GlobalExceptionHandler.java
Other components
- API client
Connections 23
- API client → Appointment endpoints: sends requests
src/main/java/com/rafael/apiagendamento/controller/AgendamentoController.java - API client → Client endpoints: sends requests
src/main/java/com/rafael/apiagendamento/controller/ClientController.java - API client → Professional endpoints: sends requests
src/main/java/com/rafael/apiagendamento/controller/ProfissionalController.java - API client → Service endpoints: sends requests
src/main/java/com/rafael/apiagendamento/controller/ServicoController.java - API client → User endpoints: sends requests
- Appointment endpoints → Appointment management: dispatches to
src/main/java/com/rafael/apiagendamento/controller/AgendamentoController.java - Client endpoints → Client management: dispatches to
src/main/java/com/rafael/apiagendamento/controller/ClientController.java - Professional endpoints → Professional management: dispatches to
src/main/java/com/rafael/apiagendamento/controller/ProfissionalController.java - Service endpoints → Service management: dispatches to
src/main/java/com/rafael/apiagendamento/controller/ServicoController.java - User endpoints → User management: dispatches to
src/main/java/com/rafael/apiagendamento/controller/UserController.java - Appointment management → JPA repositories: reads and saves
src/main/java/com/rafael/apiagendamento/service/AgendamentoService.java - Appointment management → Schedule validators: validates
src/main/java/com/rafael/apiagendamento/service/AgendamentoService.java - Appointment management → Appointment filters: builds filters
src/main/java/com/rafael/apiagendamento/service/AgendamentoService.java - Appointment management → Appointment mapping: maps data
src/main/java/com/rafael/apiagendamento/service/AgendamentoService.java - Appointment management → Domain entities: updates status
src/main/java/com/rafael/apiagendamento/service/AgendamentoService.java - Client management → JPA repositories: reads and saves
src/main/java/com/rafael/apiagendamento/service/ClientService.java - Client management → Client mapping: maps data
src/main/java/com/rafael/apiagendamento/service/ClientService.java - Professional management → JPA repositories: reads and saves
src/main/java/com/rafael/apiagendamento/service/ProfissionalService.java - Professional management → Professional mapping: maps data
src/main/java/com/rafael/apiagendamento/service/ProfissionalService.java - Service management → JPA repositories: reads and saves
src/main/java/com/rafael/apiagendamento/service/ServicoService.java - Service management → Service mapping: maps data
src/main/java/com/rafael/apiagendamento/service/ServicoService.java - User management → JPA repositories: persists users
src/main/java/com/rafael/apiagendamento/service/UserService.java - API error handling → API client: returns error responses