
eShopOnWeb
Microsoft's sample ASP.NET Core web store app showing a single-process architecture; archived and moved to com
- Stars
- 10.7k
- Forks
- 6.1k
- Licence
- MIT
- Language
- C#
- Last update
- 1.8 years ago
- Type
- App
This repository is archived and no longer maintained.
What it is
eShopOnWeb is a sample online store built with ASP.NET Core 8.0 and C#, published by Microsoft as a reference app. It demonstrates a single-process (monolithic) web application structure and the patterns described in the free eBook 'Architecting Modern Web Applications with ASP.NET Core and Azure'. The README says it is not meant to be a full eCommerce application, and the repository is now archived with active development moved to other repositories.
- Run the store locally with SQL Server or an in-memory database and browse the product catalog
- Read through the Blazor admin page and its separate PublicApi project to see how the parts interact
- Deploy the sample to Azure using the Azure Developer CLI template
- Use the Docker setup to run the Web and Public API projects in containers
Great for
- Developers learning ASP.NET Core MVC and clean architecture
- Students studying application structure and DDD-style patterns alongside the eBook
- Teams wanting a reference codebase to compare their own layering against
Not ideal for
- Anyone needing a production eCommerce system, since the README says it omits many essential features
- People wanting microservices or container-based architecture, which the README points to eShopOnContainers for instead
- Anyone expecting active updates, since the repository is archived and the README redirects to dotnet/eShop and a NimblePros community fork
How to get it
- 1
Clone and build from source
You'll need: .NET SDK (version for ASP.NET Core 8.0; exact version not stated in README) · SQL Server (optional, if not using the in-memory database) · Docker (optional, for the Docker run path) · Azure Developer CLI (optional, for Azure deployment)
Clone the repository
git clone https://github.com/dotnet-architecture/eShopOnWebInstall EF Core tool
dotnet tool update --global dotnet-efRestore and install local tools (from Web folder)
dotnet restore - 2
Run it
- Start the PublicApi project with dotnet run from its folder
- From the Web folder, run dotnet run --launch-profile Web
- Open https://localhost:5001/ in a browser
- Log in with demouser@microsoft.com to test the account, as described in the README
- 3
Get the most out of it
- Set UseOnlyInMemoryDatabase to true in appsettings.json to skip SQL Server setup
- Read the eBook topics list alongside the code to connect patterns to files
- Use the dev container configuration in .devcontainer if you prefer not to install tools locally
- Review the Docker setup with docker-compose for a containerized run
Downloads
Strengths
- Maintained by Microsoft and tied to a free published eBook
- Shows a realistic multi-project .NET solution layout with clear separation of concerns
- MIT licensed, so the code can be studied and reused
Trade-offs
- Archived, so it will not receive new updates here; the README points to forks and newer repos
- Deliberately incomplete as a store, so it is a learning aid rather than a working product
- Local setup requires running two projects and applying Entity Framework migrations, which can be fiddly for beginners
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| eShopOnWeb (this) | 10.7k | App | intermediate | 1.8 years ago | Developers learning ASP.NET Core MVC and clean architecture |
| eShop | 11k | App | intermediate | 4 days ago | .NET developers who want a realistic example of a services-based web app |
| modular-monolith-with-ddd | 14.1k | Learning resource | advanced | 2.4 years ago | Developers learning Domain-Driven Design tactical patterns in C# |
| clean-code-javascript | 94.7k | Learning resource | beginner | 2.3 years ago | Developers who want to improve the readability of their JavaScript code |
| CleanArchitecture | 18.5k | Framework | intermediate | 2 months ago | C# developers starting a new ASP.NET Core project who want a structured layout |
| vscode | 194k | App | intermediate | 4 days ago | Developers who want a lightweight editor that can be extended with add-ons |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.