How kauanuness/teste-back-end works
This is a Spring Boot REST API for managing users and their addresses. The main flow accepts CRUD requests at the user controller, delegates business operations to the user service, validates each address CEP through ViaCEP during create/update, and persists user data through Spring Data JPA. The README documents H2 development and PostgreSQL production profiles, OpenAPI, and centralized error handling. Service and controller wiring is supported by sampled source; profile and documentation capabilities are retained from the README and tree.
Main entry points: UserServiceImpl.java User Service · UserController.java User Controller · ViaCepService.java CEP Validation · CepInvalidException.java Domain Exceptions
Components 16
REST API
- User Controller
teste-back-end-kaua/src/main/java/com/kaua/testebackend/controller/UserController.java - OpenAPI Config
teste-back-end-kaua/src/main/java/com/kaua/testebackend/config/OpenApiConfig.java - Request And Response DTOs
teste-back-end-kaua/src/main/java/com/kaua/testebackend/dto/UserRequestDTO.java - Spring Boot Application
teste-back-end-kaua/src/main/java/com/kaua/testebackend/TesteBackEndKauaApplication.java
User Domain
- User Service
teste-back-end-kaua/src/main/java/com/kaua/testebackend/service/UserServiceImpl.java - User Entity
teste-back-end-kaua/src/main/java/com/kaua/testebackend/entity/User.java - Address Entity
teste-back-end-kaua/src/main/java/com/kaua/testebackend/entity/Address.java
CEP Integration
- CEP Validation
teste-back-end-kaua/src/main/java/com/kaua/testebackend/service/ViaCepService.java - ViaCEP Client
teste-back-end-kaua/src/main/java/com/kaua/testebackend/client/ViaCepClient.java - ViaCEP API
Persistence And Errors
- User Repository
teste-back-end-kaua/src/main/java/com/kaua/testebackend/repository/UserRepository.java - Address Repository
teste-back-end-kaua/src/main/java/com/kaua/testebackend/repository/AddressRepository.java - H2 / PostgreSQL
teste-back-end-kaua/src/main/resources/application.yml - Global Error Handler
teste-back-end-kaua/src/main/java/com/kaua/testebackend/exception/GlobalExceptionHandler.java - Domain Exceptions
teste-back-end-kaua/src/main/java/com/kaua/testebackend/exception/CepInvalidException.java
Other components
- API Consumer
Connections 17
- API Consumer → User Controller: sends CRUD requests
- User Controller → User Service: delegates operations
- User Controller → API Consumer: returns API response
- User Service → User Repository: queries and saves
- User Service → CEP Validation: validates CEPs
- CEP Validation → ViaCEP Client: looks up CEP
- ViaCEP Client → ViaCEP API: requests address data
- CEP Validation → Domain Exceptions: throws invalid CEP
- User Service → Domain Exceptions: throws missing user
- User Repository → H2 / PostgreSQL: persists users
- Address Repository → H2 / PostgreSQL: persists addresses
- User Entity → Address Entity: owns addresses
- User Service → User Entity: creates and updates
- User Controller → Request And Response DTOs: DTO capability documented
- Global Error Handler → Domain Exceptions: formats API errors
- Spring Boot Application → User Controller: starts API
- OpenAPI Config → API Consumer: documents endpoints