Skip to content

Cloud / Examples / eShop

eShop

Microsoft's reference .NET store: catalog, ordering, basket, and webhooks services with events, PostgreSQL, Redis, and AI search.

C# dotnet/eShop @ 913acea · committed Oct 15, 2026 · analyzed Oct 25, 2026 · computed from the code, no AI

27flows traced across layers
29API routes
9data tables
7outside services
57runtime packages

How requests move through it

Each line follows one request from where it starts to where it ends. Click a file to open that exact line on GitHub.

  1. RouteGET /api/catalog/itemsCatalogApi.cs:22CodeApis/CatalogApi.csCatalogApi.cs:1Tablecatalogitem
  2. RouteGET /api/catalog/items/byCatalogApi.cs:32CodeApis/CatalogApi.csCatalogApi.cs:1Tablecatalogitem
  3. RouteGET /api/webhooksWebHooksApi.cs:13CodeApis/WebHooksApi.csWebHooksApi.cs:1Tablewebhooksubscription
  4. RouteGET /api/webhooks/:paramWebHooksApi.cs:20CodeApis/WebHooksApi.csWebHooksApi.cs:1Tablewebhooksubscription
  5. RoutePUT /api/orders/cancelOrdersApi.cs:11CodeApis/OrdersApi.csOrdersApi.cs:1
  6. RoutePUT /api/orders/shipOrdersApi.cs:12CodeApis/OrdersApi.csOrdersApi.cs:1
  7. RouteGET /api/orders/:paramOrdersApi.cs:13CodeApis/OrdersApi.csOrdersApi.cs:1
  8. RouteGET /api/ordersOrdersApi.cs:14CodeApis/OrdersApi.csOrdersApi.cs:1

Data model

buyercardtypecatalogbrandcatalogitemcatalogtypeorderorderitempaymentmethodwebhooksubscription

Technology

  • 2 settings not documented in an example env file
  • 4 packages at more than one version: Microsoft.Maui.Controls 9.0.30 + 9.0.40; Microsoft.Maui.Controls.Maps 9.0.30 + 9.0.40; Microsoft.Maui.Controls.Compatibility 9.0.30 + 9.0.40
  • 4 packages with no imports found: CommunityToolkit.Aspire.Hosting.Ollama, CommunityToolkit.Aspire.OllamaSharp, Grpc.AspNetCore, Grpc.Net.ClientFactory

Runtime

.NET net10.0, net10.0-android, net10.0-iosnpm + NuGetpackage-lock.json

Outside services

  • PostgreSQL database
  • RabbitMQ message queue
  • Redis cache
  • Identity server auth
  • OpenTelemetry observability
  • OpenAI AI model
  • Ollama local AI model

Packages by role 57 runtime, 7 for development

FrameworksAspire.Hosting.Dotnet13.6.0-preview.1.26479.8Aspire.Hosting.Foundry13.6.0-preview.1.26479.8Aspire.Hosting.Yarp13.6.0Aspire.Hosting.Azure.AppContainers13.6.0Microsoft.AspNetCore.Components.QuickGrid10.0.12Microsoft.AspNetCore.Components.Web10.0.12+9 more
Data and storageNpgsql.EntityFrameworkCore.PostgreSQL10.0.3Pgvector.EntityFrameworkCore0.3.0Aspire.Hosting.PostgreSQL13.6.0Aspire.Hosting.Redis13.6.0Aspire.Npgsql13.6.0Aspire.Npgsql.EntityFrameworkCore.PostgreSQL13.6.0+1 more
Messaging and queuesAspire.Hosting.RabbitMQ13.6.0Aspire.RabbitMQ.Client13.6.0
Sign-in and securityMicrosoft.AspNetCore.Authentication.OpenIdConnect10.0.12Microsoft.AspNetCore.Authentication.JwtBearer10.0.12IdentityModel7.0.0IdentityModel.OidcClient6.0.0Duende.IdentityServer.AspNetIdentity7.3.2
MonitoringOpenTelemetry.Exporter.OpenTelemetryProtocol1.19.1OpenTelemetry.Extensions.Hosting1.19.1OpenTelemetry.Instrumentation.AspNetCore1.19.0OpenTelemetry.Instrumentation.Http1.19.0OpenTelemetry.Instrumentation.Runtime1.19.0
UtilitiesMediatR13.1.0Google.Protobuf3.29.3 + 3.36.2
OtherSystem.Reflection.TypeExtensions4.7.0Pgvector0.3.2CommunityToolkit.Mvvm8.3.2Microsoft.Extensions.Logging.Debug9.0.0CommunityToolkit.Maui9.1.1Microsoft.Extensions.Options10.0.12+15 more

Security and AI-agent checks

0 critical · 0 high · 1 medium · 1 low. Includes checks of files AI coding agents read. 50 code-health notes not shown here.

All 29 routes and pages

Limits of this report

  • 4 package(s) are installed at more than one version across the repository.
  • "No imports found" means no import, script, or config mention was seen. A package can still be used another way, so confirm before removing it.
  • Static analysis reads the code; it does not run it. A missing flow means it could not be proven from the source, not that it does not exist.
  • Engine 2026-10-25.nextjs (0c1481d).

See your own repository like this