🛍️ A practical e-commerce application built with .NET for the backend and React (Vite) for the frontend, demonstrating clean architecture and the latest technologies.
Provide a sample production-ready foundation for an online store with clean architecture and domain-driven design.
- HTTP APIs for Basket, Catalog, Customer, Identity, Order, and Payment.
- Aspire used to local orchestration.
- Domain‑driven design: entities, value objects, and domain events.
- Seperate commands, queries in per feature.
- JWT authentication and Cookie authentication
- Unit and integration test projects.
- ❇️ Using
Clean Architecturefor architecture level. - ❇️ Using
CQRSimplementation withMediatRlibrary. - ❇️ Using
Fluent Validationand aValidation Pipeline Behaviouron top ofMediatR. - ❇️ Using
Unit Testingfor testing small units and mocking - ❇️ Using
Dockerfor containerization - ❇️ Using
Nginxfor reserve proxy - ❇️ Using
Aspirefor local development, fast test - ❇️ Integration payment gateway with a
Stripe - ❇️ Identity and authentication via
Duende IdentityServer. - ❇️ Using storage: local filesystem and
Azure Blobprovider. - ❇️ Observability via
OpenTelemetry(instrumentation + exporters). - ❇️ Email notifications via SMTP and background host services.
- ❇️ In-memory caching
- ✔️
.NET 9– runtime and SDK used across services. - ✔️
Entity Framework Core– persistence, migrations, etc - ✔️
MediatR– CQRS and in-process messaging (handlers + pipeline behaviors). - ✔️
FluentValidation– command validators and validation pipeline integration. - ✔️
Duende.IdentityServer– Identity and authentication. - ✔️
OpenTelemetry– tracing and metrics instrumentation. - ✔️
Stripe– payment provider implementation and factory-based payment gateway. - ✔️
Azure Blob Storageand local file storage managers. - ✔️
Swashbuckle / OpenAPI(Swagger) – API documentation and UI. - ✔️
React+Vite– storefront frontend. - ✔️
xUnit.net– unit and integration testing projects. - ✔️
Docker,Nginx– containerized dev/production setups and reverse proxy. - ✔️
Aspire– local orchestration for multi-service development. - ✔️
Microsoft.Extensions.Caching.Memory– in-memory caching support.