Skip to content

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
Step-by-step guide: how to use eShopInstall, first run, examples, tips and FAQs

How to get it

  1. 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.git

    Enter the repository folder

    cd eShop

    Check the Aspire CLI is installed

    aspire --version
  2. 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. 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.