Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
GitHub repo · Web DevelopmentFree

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.

GitHub stars

10.9k (dotnet/eShop)

GitHub · Oct 2026

Built on

.NET 10 and Aspire

GitHub README · Oct 2026

Licence

MIT

GitHub · Oct 2026

Format

GitHub repo

Topic

Web Development

Provider

Microsoft (.NET team)

Time needed

A few evenings to run and explore

Level

Advanced

Access

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.

csharpbackendopen source

Ready to start?

Opens on Microsoft (.NET team) in a new tab.

Open resource
Link broken or out of date?

Report a problem

With "eShop reference application". Only Tauseef reads this.

Work with me

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.