What is the Clean Architecture layering (Domain, Application, Infrastructure, Web)?
The solution is split into four projects following Clean Architecture. ECommerce.Domain holds the entities and enums — the business objects, with no dependency on any framework or database. ECommerce.Application holds the service interfaces and DTOs — *what* the system can do, expressed abstractly. ECommerce.Infrastructure holds the concrete implementations: the EF Core DbContext,…
The solution is split into four projects following Clean Architecture. ECommerce.Domain holds the entities and enums — the business objects, with no dependency on any framework or database. ECommerce.Application holds the service interfaces and DTOs — *what* the system can do, expressed abstractly. ECommerce.Infrastructure holds the concrete implementations: the EF Core DbContext, the service classes, dependency-injection wiring, and engines like the data-erase and setup importers. ECommerce.Web holds the controllers and Razor views, organized into areas (Admin back-office, Demo storefront, and root-level surfaces). Each layer depends only on the ones "inside" it, which keeps business logic isolated from delivery and storage concerns and makes the system testable and extensible.