finds.dev← search

// the find

NimblePros/eShopOnWeb

★ 564 · C# · MIT · updated May 2026

Sample ASP.NET Core 10.0 reference application, powered by Microsoft, demonstrating a domain-centric application architecture with monolithic deployment model.

NimblePros-maintained fork of the original Microsoft eShopOnWeb reference app, updated to ASP.NET Core 10.0. It demonstrates clean/onion architecture with a monolithic deployment: MVC web frontend, Blazor WebAssembly admin panel, and a minimal API project. Aimed at .NET developers learning layered architecture patterns, not at anyone building a real store.

- Layer separation is genuinely well done — ApplicationCore has zero infrastructure dependencies, specifications live in the domain layer, and EF config is isolated in Infrastructure. Good model for showing why the dependency rule matters.

- Kept current: targeting ASP.NET Core 10.0 on main with older versions tagged, plus CI via GitHub Actions and a dependabot config, so it doesn't rot like many reference apps.

- Dev container support with separate containers for the app and docs is a practical addition that lowers the 'works on my machine' friction for newcomers.

- Ardalis.Specification is used consistently for query encapsulation rather than leaking IQueryable everywhere — one of the few reference apps that actually practices what it preaches on repository abstraction.

- The companion eBook still references ASP.NET Core 8.0 while the code is on 10.0, so the primary learning resource is already behind the code it's supposed to explain.

- Blazor WebAssembly admin requires running a separate PublicApi process locally — there's no single-command startup that handles all three projects, and the README instructions are easy to get wrong.

- Test coverage is thin on integration scenarios; the functional tests hit the web layer but there are no tests exercising the Blazor admin or the API endpoints together, which is exactly where the tricky auth/CORS wiring lives.

- The BlazorAdmin project carries its own copies of Bootstrap and Open Iconic as static files rather than using a package reference or CDN, and the CSS is dated — minor but signals the frontend side is treated as second-class.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →