graph LR
ApplicationCore["ApplicationCore"]
Infrastructure["Infrastructure"]
Web["Web"]
PublicApi["PublicApi"]
BlazorAdmin["BlazorAdmin"]
Tests["Tests"]
SQL_Server["SQL Server"]
Users["Users"]
External_API_Consumers["External API Consumers"]
Administrators["Administrators"]
Web -- "uses" --> ApplicationCore
PublicApi -- "uses" --> ApplicationCore
BlazorAdmin -- "uses" --> PublicApi
ApplicationCore -- "uses" --> Infrastructure
Infrastructure -- "interacts with" --> SQL_Server
Web -- "interacts with" --> Users
PublicApi -- "interacts with" --> External_API_Consumers
BlazorAdmin -- "interacts with" --> Administrators
Tests -- "valida tes" --> ApplicationCore
Tests -- "validates" --> Infrastructure
Tests -- "validates" --> Web
Tests -- "validates" --> PublicApi
click ApplicationCore href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/eShopOnWeb/ApplicationCore.md" "Details"
click Infrastructure href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/eShopOnWeb/Infrastructure.md" "Details"
click Web href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/eShopOnWeb/Web.md" "Details"
click PublicApi href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/eShopOnWeb/PublicApi.md" "Details"
click BlazorAdmin href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/eShopOnWeb/BlazorAdmin.md" "Details"
click Tests href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/eShopOnWeb/Tests.md" "Details"
One paragraph explaining the functionality which is represented by this graph. What the main flow is and what is its purpose.
ApplicationCore [Expand]
Encapsulates the core business logic, domain models, and application services. It defines interfaces for data access and orchestrates business operations, acting as the central hub for the application's domain.
Related Classes/Methods: None
Infrastructure [Expand]
Implements data access logic (e.g., Entity Framework Core for SQL Server) and integrates with external services (e.g., identity, email). It provides concrete implementations for interfaces defined in ApplicationCore.
Related Classes/Methods: None
Web [Expand]
The primary presentation layer for the main e-commerce website, handling user interface rendering, user input, and presentation logic using ASP.NET Core MVC/Razor Pages. It interacts with ApplicationCore to fulfill user requests.
Related Classes/Methods: None
PublicApi [Expand]
Exposes a RESTful API for external clients or other applications to programmatically interact with the e-commerce system. It acts as a facade, translating API requests into calls to ApplicationCore.
Related Classes/Methods: None
BlazorAdmin [Expand]
A client-side Blazor WebAssembly application providing an administrative user interface for managing the e-commerce system. It primarily communicates with the PublicApi to perform administrative tasks.
Related Classes/Methods: None
Tests [Expand]
Contains various testing projects (unit, integration, functional) to ensure the quality, correctness, and reliability of the ApplicationCore, Infrastructure, Web, and PublicApi components.
Related Classes/Methods: None
An external relational database management system used by the Infrastructure component for persistent data storage.
Related Classes/Methods: None
External human users who interact with the Web application (the main e-commerce website).
Related Classes/Methods: None
External applications or services that programmatically interact with the e-commerce system via the PublicApi.
Related Classes/Methods: None
External human users with administrative privileges who manage the e-commerce system through the BlazorAdmin application.
Related Classes/Methods: None