How shresthasuman/learningmicroservice works
This learning microservice repository currently exposes two product domains: product catalog management and user shopping baskets. A user can browse or maintain products, then retrieve, store, or delete a basket; the tree also shows validation and shared CQRS behaviors. Catalog and basket persistence use document sessions, while basket reads and writes additionally use a distributed-cache decorator. The README is only a brief project description, and endpoint implementations and basket startup wiring were not sampled, so those dispatch relationships are left unspecified.
Main entry points: BasketRepository.cs Basket repository · CachedBasketRepository.cs Cached repository · Program.cs Catalog API · Features Product queries
Components 17
Product catalog
- Catalog API
E-commerce/src/Services/Catalog/CatalogAPI/Program.cs - Product queries
E-commerce/src/Services/Catalog/CatalogAPI/Features - Product commands
E-commerce/src/Services/Catalog/CatalogAPI/Features - Product model
E-commerce/src/Services/Catalog/CatalogAPI/Model/Products.cs
Shopping basket
- Basket endpoints
E-commerce/src/Services/Basket/BasketAPI/BasketAPI/Features - Basket queries
E-commerce/src/Services/Basket/BasketAPI/BasketAPI/Features/GetBasket - Basket commands
E-commerce/src/Services/Basket/BasketAPI/BasketAPI/Features - Shopping cart
E-commerce/src/Services/Basket/BasketAPI/BasketAPI/Models/ShoppingCart.cs
Shared application layer
- CQRS contracts
E-commerce/src/BuildingBlocks/BuildingBlocks/CQRS - Validation behavior
E-commerce/src/BuildingBlocks/BuildingBlocks/Behaviors/ValidationBehavior.cs - Logging behavior
E-commerce/src/BuildingBlocks/BuildingBlocks/Behaviors/LoggingBehavior.cs
Persistence and cache
- Basket repository
E-commerce/src/Services/Basket/BasketAPI/BasketAPI/Data/BasketRepository.cs - Cached repository
E-commerce/src/Services/Basket/BasketAPI/BasketAPI/Data/CachedBasketRepository.cs - Catalog document store
- Basket document store
- Distributed cache
Other components
- User
Connections 10
- User → Catalog API: requests
- User → Basket endpoints: requests
- Catalog API → Catalog document store: configures session
- Product queries → Catalog document store: queries and loads
- Product commands → Catalog document store: stores and updates
- Basket queries → Basket repository: reads basket
- Basket commands → Basket repository: writes basket
- Basket repository → Basket document store: loads and saves
- Cached repository → Basket repository: delegates operations
- Cached repository → Distributed cache: reads and updates