How demoner21/delivery works
Delivery Tech API is a Spring Boot REST backend for a delivery system. Its central workflow accepts an order request, validates the customer, restaurant, and products, calculates totals, persists the order, and exposes order lookup and status operations. Separate API areas cover authentication, customers, restaurants, products, dashboard, and health. The tree also identifies monitoring, auditing, and alerting services. Evidence is limited to the README, tree, and sampled source; links for unsampled areas are omitted rather than inferred.
Main entry points: PedidoServiceImpl.java Order Service · ProdutoServiceImpl.java Product Service · RestauranteController.java Catalog APIs · AuthService.java Authentication
Components 27
REST API
- Authentication API
src/main/java/com/deliverytech/delivery_api/controller/AuthController.java - Customer API
src/main/java/com/deliverytech/delivery_api/controller/ClienteController.java - Order API
src/main/java/com/deliverytech/delivery_api/controller/PedidoController.java - Catalog APIs
src/main/java/com/deliverytech/delivery_api/controller/RestauranteController.java - Product API
src/main/java/com/deliverytech/delivery_api/controller/ProdutoController.java - Dashboard API
src/main/java/com/deliverytech/delivery_api/controller/DashboardController.java - Health API
src/main/java/com/deliverytech/delivery_api/controller/HealthController.java
Delivery Services
- Authentication
src/main/java/com/deliverytech/delivery_api/service/AuthService.java - Customer Service
src/main/java/com/deliverytech/delivery_api/service/ClienteService.java - Order Service
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Product Service
src/main/java/com/deliverytech/delivery_api/service/impl/ProdutoServiceImpl.java - Restaurant Service
src/main/java/com/deliverytech/delivery_api/service/RestauranteService.java - API DTOs
src/main/java/com/deliverytech/delivery_api/dto
Persistence Model
- 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 - User Repository
src/main/java/com/deliverytech/delivery_api/repository/UsuarioRepository.java - Delivery Entities
src/main/java/com/deliverytech/delivery_api/entity
Security and Operations
- JWT Security
src/main/java/com/deliverytech/delivery_api/security/JwtAuthenticationFilter.java - Monitoring
src/main/java/com/deliverytech/delivery_api/config/monitoring - Audit Services
src/main/java/com/deliverytech/delivery_api/service/AuditService.java - Alert Service
src/main/java/com/deliverytech/delivery_api/service/AlertService.java - Metrics Service
src/main/java/com/deliverytech/delivery_api/service/MetricsService.java - Tracing Service
src/main/java/com/deliverytech/delivery_api/service/TracingService.java
Other components
- API Client
- H2 Database
Connections 28
- API Client → Authentication API: sends requests
src/main/java/com/deliverytech/delivery_api/controller/AuthController.java - API Client → Customer API: sends requests
src/main/java/com/deliverytech/delivery_api/controller/ClienteController.java - API Client → Order API: sends requests
src/main/java/com/deliverytech/delivery_api/controller/PedidoController.java - API Client → Catalog APIs: sends requests
src/main/java/com/deliverytech/delivery_api/controller/RestauranteController.java - API Client → Product API: sends requests
src/main/java/com/deliverytech/delivery_api/controller/ProdutoController.java - API Client → Dashboard API: sends requests
- API Client → Health API: checks health
- Authentication API → Authentication: delegates
src/main/java/com/deliverytech/delivery_api/controller/AuthController.java - Customer API → Customer Service: delegates
src/main/java/com/deliverytech/delivery_api/controller/ClienteController.java - Order API → Order Service: delegates
src/main/java/com/deliverytech/delivery_api/controller/PedidoController.java - Catalog APIs → Restaurant Service: delegates
src/main/java/com/deliverytech/delivery_api/controller/RestauranteController.java - Catalog APIs → Product Service: delegates
src/main/java/com/deliverytech/delivery_api/controller/RestauranteController.java - Product API → Product Service: delegates
src/main/java/com/deliverytech/delivery_api/controller/ProdutoController.java - Order Service → Customer Repository: loads customer
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 → Product Repository: loads products
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Order Service → Order Repository: saves orders
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Order Service → Delivery Entities: builds order
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Order Service → API DTOs: maps responses
src/main/java/com/deliverytech/delivery_api/service/impl/PedidoServiceImpl.java - Product Service → Product Repository: queries products
src/main/java/com/deliverytech/delivery_api/service/impl/ProdutoServiceImpl.java - Product Service → Restaurant Repository: loads restaurant
src/main/java/com/deliverytech/delivery_api/service/impl/ProdutoServiceImpl.java - Authentication → User Repository: loads and saves users
src/main/java/com/deliverytech/delivery_api/service/AuthService.java - Authentication → Delivery Entities: uses user
src/main/java/com/deliverytech/delivery_api/service/AuthService.java - Order Repository → H2 Database: persists records
- Product Repository → H2 Database: persists records
- Restaurant Repository → H2 Database: persists records
- Customer Repository → H2 Database: persists records
- User Repository → H2 Database: persists records