LampShade is a web application built as the final project of the ASP.NET Core MVC Training Course. The project demonstrates practical implementation of clean architecture, DDD (Domain-Driven Design), and modular design principles in ASP.NET Core MVC.
- β Modular architecture (separate layers for Domain, Application, Infrastructure, and UI)
- β Entity Framework Core with Code-First Migrations
- β Repository & Unit of Work patterns
- β Dependency Injection (IoC)
- β Authentication & Authorization (Role-based access control)
- β Admin Panel for managing products, categories, discounts, etc.
- β User Panel with shopping cart and order management
- β Dynamic Content Management (e.g., Sliders, Banners, Articles)
- β Fully localized & extendable structure
The solution is divided into multiple projects to keep things clean and maintainable:
- LampShade.Domain β Core business rules and entities
- LampShade.Application β Application services, DTOs, and contracts
- LampShade.Infrastructure β EF Core persistence, repository implementations
- LampShade.Presentation β ASP.NET Core MVC (UI Layer)
- LampShade.Query β Read models & queries for fast data access
- .NET 6 SDK or later
- SQL Server
- Visual Studio 2022 / Rider / VS Code
-
Clone the repository:
git clone https://github.com/your-username/LampShade.git cd LampShade -
Update connection string in
appsettings.json. -
Apply EF Core migrations:
dotnet ef database update
-
Run the project:
dotnet run
-
Open http://localhost:5000 in your browser.
By building LampShade, you will learn:
- How to implement DDD & Clean Architecture in ASP.NET Core
- How to structure a scalable and maintainable MVC project
- Real-world e-commerce features like product management, discounts, and checkout
- How to use CQRS with EF Core for read/write separation
Contributions, issues, and feature requests are welcome! Feel free to fork and submit a PR.
This project is for educational purposes, based on the ASP.NET Core MVC Training Course by Atriya. You may use and modify it for your own learning or projects.