How sparta-3tm/3tm works
3TM is a Spring-based logistics and delivery MSA. A client enters through the gateway; documented domain capabilities cover authentication and delivery-manager administration, hubs and routes, companies and products, order creation and delivery management, plus weather summaries and Slack notifications. The sampled order service coordinates company/product and hub-route operations; hub routing uses Naver mapping. Exact controller-to-service and gateway routing details were not sampled, so those connections are marked unverified. Persistence is represented by service-owned repositories where evidenced, not as a single assumed shared database.
Main entry points: CustomPreFilter.java API gateway · OrderDeliveryService.java Order and delivery orchestration · ProductService.java Product management · HMIService.java Hub route planning
Components 20
Entry and identity
- API gateway
gateway-server/src/main/java/com/sparta3tm/gatewayserver/filter/CustomPreFilter.java - Service registry
eureka-server/src/main/java/com/sparta3tm/eurekaserver/EurekaServerApplication.java - Identity and managers
auth-server/src/main/java/com/sparta3tm/authserver/application/AuthService.java - User and manager records
auth-server/src/main/java/com/sparta3tm/authserver/domain/user/User.java
Logistics catalog
- Company management
company-server/src/main/java/com/sparta3tm/companyserver/application/CompanyService.java - Product management
company-server/src/main/java/com/sparta3tm/companyserver/application/ProductService.java - Hub management
hub-server/src/main/java/com/sparta3tm/hubserver/application/service/HubService.java - Hub route planning
hub-server/src/main/java/com/sparta3tm/hubserver/application/service/HMIService.java - Naver Maps
- Company and product records
company-server/src/main/java/com/sparta3tm/companyserver/domain/company/Company.java - Hub and movement records
hub-server/src/main/java/com/sparta3tm/hubserver/domain/entity/Hub.java
Orders and delivery
- Order and delivery orchestration
order-server/src/main/java/com/sparta3tm/orderserver/application/service/OrderDeliveryService.java - Delivery tracking
order-server/src/main/java/com/sparta3tm/orderserver/application/service/DeliveryService.java - Order and delivery records
order-server/src/main/java/com/sparta3tm/orderserver/domain/entity/order/Order.java
Notifications and assistance
- Weather lookup
chore-server/src/main/java/com/sparta3tm/choreserver/application/WeatherService.java - AI summaries
chore-server/src/main/java/com/sparta3tm/choreserver/application/GeminiService.java - Slack notifications
chore-server/src/main/java/com/sparta3tm/choreserver/application/SlackService.java - Slack API
Shared runtime
- Shared API support
common/src/main/java/com/sparta3tm/common/support/response/ApiResponse.java
Other components
- API client
Connections 26
- API client → API gateway: sends requests
- API gateway → Identity and managers: routes requests
- API gateway → Company management: routes requests
- API gateway → Product management: routes requests
- API gateway → Hub management: routes requests
- API gateway → Order and delivery orchestration: routes requests
- API gateway → Delivery tracking: routes requests
- API gateway → Slack notifications: routes requests
- API gateway → Service registry: discovers services
- Order and delivery orchestration → Company management: requests company data
order-server/src/main/java/com/sparta3tm/orderserver/application/service/OrderDeliveryService.java - Order and delivery orchestration → Product management: updates quantities
order-server/src/main/java/com/sparta3tm/orderserver/application/service/OrderDeliveryService.java - Order and delivery orchestration → Hub route planning: requests route
order-server/src/main/java/com/sparta3tm/orderserver/application/service/OrderDeliveryService.java - Hub route planning → Hub management: looks up hubs
hub-server/src/main/java/com/sparta3tm/hubserver/application/service/HMIService.java - Hub route planning → Naver Maps: requests directions
hub-server/src/main/java/com/sparta3tm/hubserver/application/service/HMIService.java - Slack notifications → Weather lookup: gets forecast
chore-server/src/main/java/com/sparta3tm/choreserver/application/SlackService.java - Slack notifications → AI summaries: requests summary
chore-server/src/main/java/com/sparta3tm/choreserver/application/SlackService.java - Slack notifications → Slack API: posts messages
chore-server/src/main/java/com/sparta3tm/choreserver/application/SlackService.java - Identity and managers → User and manager records: reads and writes
auth-server/src/main/java/com/sparta3tm/authserver/application/AuthService.java - Company management → Company and product records: reads and writes
company-server/src/main/java/com/sparta3tm/companyserver/application/CompanyService.java - Product management → Company and product records: reads company
company-server/src/main/java/com/sparta3tm/companyserver/application/ProductService.java - Product management → Hub management: validates hub
company-server/src/main/java/com/sparta3tm/companyserver/application/ProductService.java - Product management → Shared API support: uses Gemini DTOs
company-server/src/main/java/com/sparta3tm/companyserver/application/ProductService.java - Hub management → Hub and movement records: reads and writes
hub-server/src/main/java/com/sparta3tm/hubserver/application/service/HubService.java - Hub route planning → Hub and movement records: stores movements
hub-server/src/main/java/com/sparta3tm/hubserver/application/service/HMIService.java - Order and delivery orchestration → Order and delivery records: stores orders
order-server/src/main/java/com/sparta3tm/orderserver/application/service/OrderDeliveryService.java - Delivery tracking → Order and delivery records: manages delivery