
eShop
A sample .NET online shop showing how to build a multi-service e-commerce app with Aspire.
- Stars
- 11k
- Forks
- 3.9k
- Licence
- MIT
- Language
- C#
- Last update
- 4 days ago
- Type
- App
What it is
eShop is a reference application written in C# on .NET 10 that implements an e-commerce website as a set of cooperating services. It is meant to show how a real multi-service store can be structured and run, rather than being a shop you would deploy for your own customers. It uses Aspire to start and manage the services together on your machine.
- Run the full store locally with aspire run and browse the homepage and catalog
- Run the server tests with dotnet test against eShop.Web.slnf
- Run the Playwright browser tests against the app
- Optionally enable an AI chatbot backed by Microsoft Foundry models
- Deploy the sample to Azure Container Apps using the Aspire CLI
Great for
- .NET developers who want a realistic example of a services-based web app
- Developers learning how Aspire orchestrates multiple services and containers
- Teachers or students studying e-commerce application architecture
- Developers evaluating Aspire deployment to Azure Container Apps
Not ideal for
- Anyone needing a production-ready store, since the README says the Azure deployment is for evaluation and demos, not production data
- People without Docker or Podman, because a running container runtime is required
- Non-.NET developers who would have to learn C# and .NET to change it
How to get it
- 1
Clone and build from source
You'll need: .NET 10 SDK matching global.json · .NET Aspire CLI · .NET Aspire container runtime such as Docker Desktop or Podman
Clone the repository
git clone https://github.com/dotnet/eShop.gitEnter the repository folder
cd eShopCheck the Aspire CLI is installed
aspire --version - 2
Run it
- Make sure your container runtime (Docker Desktop or Podman) is running
- From the repository root, run aspire run
- Open the dashboard URL printed in the terminal
- Stop the app with Ctrl+C, or use aspire start and aspire stop to run it in the background
- 3
Get the most out of it
- Open the solution in Visual Studio using eShop.Web.slnf and set eShop.AppHost as the startup project
- Use the Aspire extension in VS Code with C# Dev Kit for an IDE workflow
- Run dotnet test --solution eShop.Web.slnf to exercise the server tests
- Enable the AI chatbot with the UseFoundry environment variable after configuring Azure secrets
- Use aspire deploy --list-steps to preview the Azure deployment before running it
Downloads
Strengths
- Official reference implementation from the .NET team, with architecture diagrams in the README
- Aspire starts all services and their dependencies with one command
- Includes automated server and browser tests
Trade-offs
- Requires a .NET 10 SDK, Aspire CLI, and a container runtime, which is a sizable setup
- The optional AI chatbot uses a preview package and needs an Azure subscription
- Sample data is fictional and generated by AI tools, so it is a demo catalog rather than real products
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.