eShopOnWeb
Sample ASP.NET Core 8.0 reference application, now community supported: https://github.com/NimblePros/eShopOnWeb
A sample ASP.NET Core online store built by Microsoft to teach clean architecture and domain-driven design in a real runnable app, paired with a free ebook that explains every architectural decision.
eShopOnWeb is a sample online store application built with ASP.NET Core, created by Microsoft to demonstrate how to structure a traditional web application. It is not intended to be a production e-commerce system, but rather a teaching example that accompanies a free ebook called Architecting Modern Web Applications with ASP.NET Core and Azure. The codebase shows how to apply common architectural patterns like clean architecture and domain-driven design in a real, runnable project rather than abstract diagrams.
The application is a single deployable unit, meaning the entire site runs as one process. This is intentional: the repo is explicitly positioned as the simpler single-process alternative to a companion project called eShopOnContainers, which breaks the same store into many small services. eShopOnWeb shows what a well-organized traditional web app looks like before any microservices splitting happens.
Functionally the store has a product catalog, a shopping cart, an order flow, and an admin section built in Blazor WebAssembly. It connects to SQL Server by default but can run with an in-memory database for quick local testing. Running it fully requires starting both the main web project and a separate API project that the Blazor admin panel calls.
The project can be run locally with standard .NET tooling, inside a dev container, or deployed to Azure using the Azure Developer CLI with a single azd up command. The README covers all three paths with step-by-step instructions including database migration commands.
As of the time of writing, active Microsoft development has moved to a newer repository at github.com/dotnet/eShop. A community-maintained fork also exists at NimblePros/eShopOnWeb. This repository remains publicly available and the ebook it accompanies is still freely downloadable, but new features will appear in the successor repos rather than here.
Where it fits
- Study clean architecture and domain-driven design patterns in a real runnable ASP.NET Core project
- Use the codebase as a starting template for a well-structured traditional .NET web application
- Deploy a fully working .NET e-commerce app to Azure with a single azd up command to learn Azure deployment
- Read alongside the free Microsoft ebook to see every architectural pattern applied in working code