How jaiswaladi246/10-microservice-appliction works
Online Boutique is a multi-language gRPC storefront. Users browse products, manage a cart, and place orders through the web frontend; checkout prepares the order and coordinates cart retrieval, product and currency lookups, shipping quotes, payment, cart clearing, and confirmation email. The README also documents recommendations and contextual ads. The checkout calls and cart-store wiring are visible in sampled source; the frontend-to-service and optional browsing integrations are not, so those links are dashed and unverified.
Main entry points: main.go Checkout Orchestrator · handlers.go Web Frontend · ICartStore.cs Cart Storage · CartService.cs Cart RPC
Components 16
Storefront
- Web Frontend
src/frontend/handlers.go
Commerce Services
- Cart RPC
src/cartservice/src/services/CartService.cs - Cart Storage
src/cartservice/src/cartstore/ICartStore.cs - Redis Cart Store
src/cartservice/src/cartstore/RedisCartStore.cs - AlloyDB Cart Store
src/cartservice/src/cartstore/AlloyDBCartStore.cs - Spanner Cart Store
src/cartservice/src/cartstore/SpannerCartStore.cs - Currency Conversion
src/currencyservice/server.js
Order Fulfillment
- Checkout Orchestrator
src/checkoutservice/main.go - Shipping
src/shippingservice/main.go - Payment
src/paymentservice/server.js - Order Email
src/emailservice/email_server.py
Discovery and Support
- Product Catalog
src/productcatalogservice/product_catalog.go - Recommendations
src/recommendationservice/recommendation_server.py - Contextual Ads
src/adservice/src/main/java/hipstershop/AdService.java - Traffic Generator
src/loadgenerator/locustfile.py
Other components
- Shopper
Connections 17
- Shopper → Web Frontend: browses
- Web Frontend → Checkout Orchestrator: places orders
- Web Frontend → Product Catalog: browses products
- Web Frontend → Cart RPC: manages cart
- Web Frontend → Recommendations: requests suggestions
- Web Frontend → Contextual Ads: requests ads
- Checkout Orchestrator → Cart RPC: gets and empties
src/checkoutservice/main.go - Checkout Orchestrator → Product Catalog: gets products
src/checkoutservice/main.go - Checkout Orchestrator → Currency Conversion: converts prices
src/checkoutservice/main.go - Checkout Orchestrator → Shipping: gets quote and ships
src/checkoutservice/main.go - Checkout Orchestrator → Payment: charges card
src/checkoutservice/main.go - Checkout Orchestrator → Order Email: sends confirmation
src/checkoutservice/main.go - Cart RPC → Cart Storage: delegates storage
src/cartservice/src/services/CartService.cs - Cart Storage → Redis Cart Store: implemented by
src/cartservice/src/cartstore/RedisCartStore.cs - Cart Storage → AlloyDB Cart Store: implemented by
src/cartservice/src/cartstore/AlloyDBCartStore.cs - Cart Storage → Spanner Cart Store: implemented by
src/cartservice/src/cartstore/SpannerCartStore.cs - Traffic Generator → Web Frontend: generates traffic