This repository contains a full-stack Ecommerce application built using .NET 8 Web API and Angular 20.
The solution demonstrates modern software engineering practices such as Clean Architecture, Repository & Unit of Work Patterns, Redis Caching, JWT Authentication, Email Services, Stripe Payment, and a complete Angular client with guards, interceptors, and responsive UI.
- Register, Login, Logout
- JWT Authentication
- Roles: Admin & User
- Email verification (activate account)
- Forgot password + reset password email
- Add items to basket
- Remove/update basket items
- Search products
- Filter products (category, price, etc.)
- Create Orders
- View order history
- Add shipping address
- Choose delivery method
- Checkout process
- Payment using Stripe
- Fully responsive UI
- CRUD Operations for:
- Products
- Categories
- Delivery Methods
- Admin-level secured endpoints
- Layers: API, Core, Infrastructure
- Clear separation of concerns
- Code-First Migrations
- SQL Server
- LINQ querying
- Generic repository implementation
- Unit of Work to manage transactions
- Clean separation between data access and business logic
- Mapping Entities ↔ DTOs.
- Caching products
- Caching user basket
- Improved performance & scalability
- Access tokens
- Role-based authorization
- Secure endpoints
- Activation emails
- Forgot password email workflow
- Secure client + server payment flow
- Session creation & order confirmation
- Server-side pagination
- Filtering, searching & sorting support
- Fully asynchronous services and controllers
- HTML, CSS, Bootstrap
- Clean and responsive user interface
- Components, Modules, Routing
- HttpClient for API communication
- Interceptors (JWT, Loading Spinner)
- Guards (AuthGuard, AdminGuard)
- RxJS for async streams and state handling
- Custom Angular services
- Reactive Forms
- Login / Register
- Product listing with search & filter
- Basket sidebar
- Checkout + payment
- Create Order workflow
- Order history page
- .NET 8 Web API
- Entity Framework Core
- Repository Pattern
- Unit of Work Pattern
- AutoMapper
- Redis
- JWT Authentication
- SQL Server
- Stripe Payments
- Clean Architecture
- Asynchronous Programming
- Angular 20
- RxJS
- Bootstrap
- HTML / CSS
- Guards & Interceptors
- HttpClient