eShop reference application
Microsoft's open source reference e-commerce app built on .NET 10 and Aspire: several ASP.NET Core services, a Blazor web front end, EF Core with PostgreSQL, Redis, messaging and identity. A free, realistic codebase to run, trace and read before you design your own.
10.9k (dotnet/eShop)
GitHub · Oct 2026
.NET 10 and Aspire
GitHub README · Oct 2026
MIT
GitHub · Oct 2026
GitHub repo
Web Development
Microsoft (.NET team)
A few evenings to run and explore
Advanced
Free
What it is
eShop is a reference application maintained by the .NET team at Microsoft. It implements an online shop with a services-based architecture and runs on Aspire, which starts every service, database and cache with one command and shows them in the Aspire dashboard. Its README says the current version is based on .NET 10, with the earlier .NET 8 version kept on its own branch.
What is inside
The solution is a real multi-project codebase rather than a tutorial. It includes several ASP.NET Core APIs (such as catalog, basket and ordering), a Blazor web front end, an identity service, background processing, messaging between services, and an AppHost project that wires them together. Data is stored with EF Core in PostgreSQL, with Redis for the basket, and the services share defaults for OpenTelemetry, health checks and resilience. There are also test projects and optional .NET MAUI client apps.
Is it worth your time?
Yes, once you have built at least one ASP.NET Core API yourself. Most learners only ever see tiny samples. eShop shows how a larger .NET system is organised, how services talk to each other, and how observability and resilience are set up in practice. It is also a useful counterweight to over-engineered templates: you can see which patterns the .NET team chose and where they kept things simple.
How to use it
Install the .NET 10 SDK, the Aspire CLI and Docker Desktop or Podman, clone the repository and run aspire run from the root, as the README describes. Open the dashboard, place an order in the web app and follow its trace across services. Then pick one service, such as ordering, and read it from the endpoint down to the database. Ask yourself why each project exists and what you would simplify for a smaller app.
Prerequisites
Comfortable C#, ASP.NET Core, EF Core and basic Docker. It is not a beginner resource.
Free or paid?
Free and open source under the MIT licence.
What you can do after it
Read and navigate a large .NET solution, explain how a services-based .NET app is structured and observed, and make better decisions about how much structure your own project needs.
Ready to start?
Opens on Microsoft (.NET team) in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.