Skip to content

Latest commit

 

History

History
87 lines (55 loc) · 4.45 KB

File metadata and controls

87 lines (55 loc) · 4.45 KB
graph LR
    API_Gateway_Application_Host["API Gateway / Application Host"]
    BookWorm_Catalog_Service["BookWorm.Catalog Service"]
    BookWorm_Basket_Service["BookWorm.Basket Service"]
    BookWorm_Ordering_Service["BookWorm.Ordering Service"]
    BookWorm_Finance_Service["BookWorm.Finance Service"]
    BookWorm_Notification_Service["BookWorm.Notification Service"]
    BookWorm_Rating_Service["BookWorm.Rating Service"]
    External_Clients["External Clients"]
    External_Clients -- "Accesses" --> API_Gateway_Application_Host
    API_Gateway_Application_Host -- "Deploys/Manages" --> BookWorm_Catalog_Service
    API_Gateway_Application_Host -- "Routes Requests To" --> BookWorm_Catalog_Service
    API_Gateway_Application_Host -- "Deploys/Manages" --> BookWorm_Basket_Service
    API_Gateway_Application_Host -- "Routes Requests To" --> BookWorm_Basket_Service
    API_Gateway_Application_Host -- "Deploys/Manages" --> BookWorm_Ordering_Service
    API_Gateway_Application_Host -- "Routes Requests To" --> BookWorm_Ordering_Service
    API_Gateway_Application_Host -- "Deploys/Manages" --> BookWorm_Finance_Service
    API_Gateway_Application_Host -- "Routes Requests To" --> BookWorm_Finance_Service
    API_Gateway_Application_Host -- "Deploys/Manages" --> BookWorm_Notification_Service
    API_Gateway_Application_Host -- "Routes Requests To" --> BookWorm_Notification_Service
    API_Gateway_Application_Host -- "Deploys/Manages" --> BookWorm_Rating_Service
    API_Gateway_Application_Host -- "Routes Requests To" --> BookWorm_Rating_Service
    click API_Gateway_Application_Host href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/BookWorm/API_Gateway_Application_Host.md" "Details"
Loading

CodeBoardingDemoContact

Details

This Cloud-Native Microservices Application leverages an API Gateway / Application Host as its central orchestrator and primary entry point. The architecture embodies service decomposition, the API Gateway pattern, orchestration, scalability, and resilience, with distinct microservices for Catalog, Basket, Ordering, Finance, Notification, and Rating functionalities, all managed and routed through the central host.

API Gateway / Application Host [Expand]

This component, built with .NET Aspire, is the central orchestrator for deploying and managing all microservices and their dependencies (databases, message brokers, etc.). It also acts as an API Gateway, handling intelligent routing, load balancing, and initial request processing for all incoming external traffic, directing it to the appropriate backend microservice.

Related Classes/Methods:

  • src/Aspire/BookWorm.AppHost/AppHost.cs
  • src/Aspire/BookWorm.AppHost/Container/proxy/yarp.json

BookWorm.Catalog Service

Manages the product catalog, including books, their details, availability, and pricing. It's a core domain service in the e-commerce system.

Related Classes/Methods: None

BookWorm.Basket Service

Handles user shopping baskets, allowing users to add, remove, and manage items before checkout.

Related Classes/Methods: None

BookWorm.Ordering Service

Manages the order lifecycle, from creation to fulfillment, incorporating CQRS and Event Sourcing patterns.

Related Classes/Methods: None

BookWorm.Finance Service

Handles financial transactions, payments, and potentially invoicing related to orders.

Related Classes/Methods: None

BookWorm.Notification Service

Responsible for sending various notifications (e.g., order confirmations, shipping updates) to users via different channels (e.g., email, chat).

Related Classes/Methods: None

BookWorm.Rating Service

Manages user ratings and reviews for books, potentially integrating with AI for sentiment analysis.

Related Classes/Methods: None

External Clients

Represents any external system or user interface (e.g., web browser, mobile app, third-party API consumer) that interacts with the BookWorm application.

Related Classes/Methods: None