How gracielasap/fat-cursoarquitetura works
Delivery Tech is a Spring Boot REST API. Its documented live workflow is a client calling monitoring or application-information endpoints; the repository also contains customer and order service flows, including order creation, lookup, status changes, and cancellation. These flows use DTOs, domain entities, services, and Spring Data repositories. The README documents H2/JPA persistence, but the sampled excerpts do not show application startup wiring or repository-to-database configuration; those relationships are therefore documented rather than inferred from imports.
Main entry points: PedidoServiceImpl.java Order service · ClienteController.java Customer endpoints · PedidoController.java Order endpoints · ClienteServiceImpl.java Customer service
Components 22
REST API
- Health and info
src/main/java/com/deliverytech/delivery_api/controller/HealthController.java - Customer endpoints
src/main/java/com/deliverytech/delivery_api/controller/ClienteController.java - Order endpoints
src/main/java/com/deliverytech/delivery_api/controller/PedidoController.java - Request DTOs
src/main/java/com/deliverytech/delivery_api/dto/req - Response DTOs
src/main/java/com/deliverytech/delivery_api/dto/res
Customer and Orders
- Customer service
src/main/java/com/deliverytech/delivery_api/service/impl/ClienteServiceImpl.java - Order service
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Customer model
src/main/java/com/deliverytech/delivery_api/model/Cliente.Java - Order model
src/main/java/com/deliverytech/delivery_api/model/Pedido.java - Restaurant model
src/main/java/com/deliverytech/delivery_api/model/Restaurante.java - Product model
src/main/java/com/deliverytech/delivery_api/model/Produto.java - Order item model
src/main/java/com/deliverytech/delivery_api/model/ItemPedido.java - Order status
src/main/java/com/deliverytech/delivery_api/enums/StatusPedido.java
Persistence
- Customer repository
src/main/java/com/deliverytech/delivery_api/repository/ClienteRepository.java - Order repository
src/main/java/com/deliverytech/delivery_api/repository/PedidoRepository.java - Product repository
src/main/java/com/deliverytech/delivery_api/repository/ProdutoRepository.java - Restaurant repository
src/main/java/com/deliverytech/delivery_api/repository/RestauranteRepository.java - H2 database
src/main/resources/application.properties
Shared Components
- Model mapping
src/main/java/com/deliverytech/delivery_api/config/ModelMapperConfig.java - Exception handling
src/main/java/com/deliverytech/delivery_api/exeption/GlobalExceptionHandler.java - Spring Boot app
src/main/java/com/deliverytech/delivery_api/DeliveryApiApplication.java
Other components
- API caller
Connections 20
- API caller → Health and info: requests status/info
README.md - API caller → Customer endpoints: sends customer requests
- API caller → Order endpoints: sends order requests
- Customer endpoints → Customer service: delegates
src/main/java/com/deliverytech/delivery_api/controller/ClienteController.java - Order endpoints → Order service: delegates
src/main/java/com/deliverytech/delivery_api/controller/PedidoController.java - Customer endpoints → Request DTOs: accepts
src/main/java/com/deliverytech/delivery_api/controller/ClienteController.java - Customer endpoints → Response DTOs: returns
src/main/java/com/deliverytech/delivery_api/controller/ClienteController.java - Order endpoints → Request DTOs: accepts
src/main/java/com/deliverytech/delivery_api/controller/PedidoController.java - Order endpoints → Response DTOs: returns
src/main/java/com/deliverytech/delivery_api/controller/PedidoController.java - Customer service → Customer repository: reads and saves
src/main/java/com/deliverytech/delivery_api/service/impl/ClienteServiceImpl.java - Customer service → Customer model: maps customer
src/main/java/com/deliverytech/delivery_api/service/impl/ClienteServiceImpl.java - Order service → Customer repository: loads customer
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Order service → Order repository: reads and saves
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Order service → Product repository: loads products
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Order service → Restaurant repository: loads restaurant
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Order service → Order model: creates and updates
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Order service → Order status: checks transitions
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Order service → Model mapping: maps responses
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Order repository → H2 database: persists via JPA
README.md - Customer repository → H2 database: persists via JPA
README.md