A sample ASP.NET Core 8.0 monolithic web application demonstrating enterprise patterns and architecture.
eShopOnWeb is a sample ASP.NET Core 8.0 reference application that demonstrates a monolithic web application architecture. It serves as a learning resource for developers building traditional web apps with enterprise patterns, accompanying the eBook *Architecting Modern Web Applications with ASP.NET Core and Azure*. The application includes features like Entity Framework Core data access, Blazor WebAssembly admin interfaces, and Docker support.
ASP.NET Core developers, especially those new to the framework or seeking to understand enterprise application patterns and monolithic architecture. It is also valuable for teams looking for a reference implementation to guide their own project structures.
Developers choose eShopOnWeb because it provides a clear, Microsoft-backed example of modern ASP.NET Core practices in a monolithic context, with comprehensive documentation and support for real-world deployment scenarios like Docker and Azure. It contrasts with microservices-focused samples, offering a simpler entry point for learning.
Sample ASP.NET Core 8.0 reference application, now community supported: https://github.com/NimblePros/eShopOnWeb
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Directly supports the eBook 'Architecting Modern Web Applications with ASP.NET Core and Azure', providing a practical implementation of architectural principles with updated ASP.NET Core 8.0 examples.
Showcases a single-process deployment model with Entity Framework Core migrations and ASP.NET Core Identity, ideal for understanding traditional web app structures contrasted with microservices.
Includes Docker Compose, Dev Container support, and Azure Developer CLI templates, facilitating containerized development and streamlined cloud deployment to Azure.
Features an admin section built with Blazor WebAssembly that communicates with a separate PublicApi project, offering insights into integrating this technology with ASP.NET Core APIs.
Active development has shifted to dotnet/eShop, and this repository is community-supported, potentially leading to outdated code or slower updates compared to official Microsoft samples.
Requires running separate EF Core migrations for catalog and identity databases, and coordinating multiple projects (Web and PublicApi) for full functionality, which can be error-prone for newcomers.
As admitted in the README, it lacks essential eCommerce functionalities like persistent shopping carts or payment integration, limiting its use as a real-world reference beyond architecture lessons.
The admin interface relies on Blazor WebAssembly, which may not align with teams using other frontend frameworks like React or Angular, adding learning curve for those ecosystems.