gitmyhub

eShopOnWeb

C# ★ 11k updated 1y ago ▣ archived

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.

C#ASP.NET CoreBlazorSQL ServerAzuresetup: moderatecomplexity 3/5

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