How tranduyloc895/retail-store-microservices works
This is a retail-store microservices application. The principal workflow is: a customer uses the storefront to browse catalog data, maintain cart state, update checkout details, obtain shipping rates, and submit an order. Catalog requests pass through the Go controller/API into persistent storage; checkout requests pass through NestJS orchestration into Redis, shipping, and the Orders API. The tree documents Cart, Orders, and UI services, but their source is not included here, so those components and links are shown only where README evidence supports them.
Components 19
Experience APIs
- Web Storefront
- Catalog API
src/catalog/controller/controller.go - Checkout API
src/checkout/src/checkout/checkout.controller.ts
Catalog Service
- Catalog Logic
src/catalog/api/catalog.go - Catalog Repository
src/catalog/repository/repository.go - Catalog Database
Checkout Service
- Checkout Orchestrator
src/checkout/src/checkout/checkout.service.ts - Checkout Repository
src/checkout/src/checkout/repositories/RedisCheckoutRepository.ts - Redis Store
- Shipping Rates
src/checkout/src/checkout/shipping/MockShippingService.ts - Orders Client
src/checkout/src/checkout/orders/HttpOrdersService.ts
Commerce Services
- Cart API
- Orders API
- Cart Database
- Orders Database
Runtime Operations
- Health Diagnostics
src/checkout/src/app.controller.ts - Chaos Controls
src/checkout/src/chaos/chaos.controller.ts - Chaos Runtime
src/checkout/src/chaos/chaos.service.ts
Other components
- Customer
Connections 19
- Customer → Web Storefront: uses
- Web Storefront → Catalog API: calls
- Web Storefront → Cart API: calls
- Web Storefront → Orders API: calls
- Web Storefront → Checkout API: calls
- Catalog API → Catalog Logic: dispatches
- Catalog Logic → Catalog Repository: queries
- Catalog Repository → Catalog Database: reads
- Checkout API → Checkout Orchestrator: dispatches
- Checkout Orchestrator → Checkout Repository: reads/writes
- Checkout Repository → Redis Store: stores
- Checkout Orchestrator → Shipping Rates: gets rates
- Checkout Orchestrator → Orders Client: creates order
- Orders Client → Orders API: calls
- Cart API → Cart Database: reads/writes
- Orders API → Orders Database: reads/writes
- Health Diagnostics → Redis Store: checks
- Chaos Controls → Chaos Runtime: configures
- Chaos Runtime → Checkout API: modulates