| # | Lesson Title | Description |
|---|
| Lesson 0 | Ecommerce System Overview & Backoffice Setup | Introduction to the Ecommerce Application: overview of the storefront and backoffice modules, defining high-level features, and environment setup. |
| Lesson 1 | System Architecture & Design Principles | Deep dive into clean architecture, layered design, separation of concerns, and scalability considerations. |
| Lesson 2A | Project Setup in .NET 8 (Solution & Configuration) | Creating the base solution, API project, folder structure, dependency injection, and environment configuration. |
| Lesson 2B | Implementing Domain Layer (Entities & Value Objects) | Designing and implementing domain entities following clean architecture principles in .NET 8. |
| Lesson 2C | Implementing Repository Interfaces (Domain & Infrastructure Layers) | Defining repository interfaces in the domain layer and implementing them in the infrastructure layer using dependency inversion. |
| Lesson 2D | Implementing Application Services (Service Layer and DTOs) | Building the service layer to handle business logic, creating Data Transfer Objects (DTOs), and mapping between layers. |
| Lesson 2E | Implementing Controllers (Presentation Layer) | Creating RESTful controllers to expose application services via APIs and ensuring proper separation of concerns. |
| Lesson 3 | Integrating MySQL (First Database) | Setting up MySQL, creating initial migrations, and implementing CRUD operations for base entities. |
| Lesson 4 | Adding SQL Server Support (Multi-Database Setup) | Configuring Entity Framework Core for multiple providers and supporting SQL Server alongside MySQL. |
| Lesson 5 | Working with PostgreSQL | Configuring Entity Framework Core for multiple providers and supporting PostgresSQL alongside MySQL and SQL Server |
| Lesson 6 | Redis Caching for Performance Optimization | Installing and configuring Redis; caching responses, queries, and improving API performance. |
| Lesson 7 | Message Queues with RabbitMQ | Implementing event-driven communication, background jobs, and asynchronous processing. |
| Lesson 8 | Authentication & Authorization in .NET | Implementing JWT-based authentication, role-based authorization, and optional Azure AD/IdentityServer integration. |
| Lesson 9 | Building the Backoffice Web App (Angular/React) | Creating a modern admin UI for managing products, orders, and users, integrated with the backend API. |
| Lesson 10 | Dockerizing the Full Stack Application | Writing Dockerfiles for .NET and Angular/React, setting up docker-compose for local orchestration. |
| Lesson 11 | Continuous Integration with Jenkins | Creating CI/CD pipelines in Jenkins for automated build, test, and deployment workflows. |
| Lesson 12 | Structured Logging & Monitoring | Configuring Serilog with Seq or ELK Stack for centralized structured logging and observability. |
| Lesson 13 | Centralized Error Handling & Validation | Using middleware for error handling, implementing FluentValidation, and maintaining consistent API responses. |
| Lesson 14 | Cloud Deployment (Azure / AWS) | Deploying backend, frontend, and database to the cloud with managed infrastructure services. |
| Lesson 15 | Production-Ready Best Practices | Applying final production optimizations: security headers, health checks, scaling, monitoring, and backups. |