A full-stack e-commerce platform built in ASP.NET Core following Clean Architecture principles. The app simulates interactions between Market Representatives (managing products and shops) and Purchasers (browsing, purchasing, and managing carts/orders).
- View all shops (displayed on a map using geolocation)
- View available products
- Add products to cart
- Edit/remove cart items
- Purchase cart
- Cancel orders
- View order history and status
- CRUD operations for Products
- CRUD operations for Shops
- Download Products Report
- Domain:
- Core business models:
Entities,ValueObjects,DTOs,Interfaces - No dependencies
- Core business models:
- Application:
- Business logic:
Services,Validators,Exceptions
- Business logic:
- Infrastructure:
DbContext, external API integrations (e.g. geolocation, email)
- Presentation (Web UI):
- ASP.NET Core MVC app
- Uses cookie-based authentication with Identity
- ASP.NET Identity with cookie-based auth
- Roles: Purchaser and MarketRepresentative
- Auth lives in a dedicated
Authenticationproject
- SMTP (smtp4dev) is used to send:
- Email confirmation
- Order confirmation
- Order cancellation
- Leaflet + Geocode.maps.co used to:
- Display shop addresses on a map
- Hangfire (In-Memory) used to:
- Automatically update order statuses (e.g. InProgress → Completed)
- Caching applied to the Shops main page to improve performance
| Area | Tech |
|---|---|
| Backend | ASP.NET Core (MVC) |
| Database | Microsoft SQL Server |
| ORM | Entity Framework |
| Auth | ASP.NET Identity (Cookie-based) |
| Background Jobs | Hangfire (In-Memory) |
| Mapping | AutoMapper |
| Maps | Leaflet + Geocode.maps.co |
| Emails | smtp4dev |
| UI | Bootstrap |
| Caching | IMemoryCache |