Building Amazon Style Full Stack Microservices

Posted By: ELK1nG

Building Amazon Style Full Stack Microservices
Published 8/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 10.07 GB | Duration: 20h 4m

Using .Net 9, Rabbit MQ, Saga Pattern, Outbox, Angular 20, Docker, Kubernetes, Azure, Service Mesh and many more…

What you'll learn

Learn how to create Microservices using .Net Core

Learn how to implement message queues

Learn how to implement Mediator Pattern

Learn how to implement CQRS Pattern

Lear how how to Containerize entire solution

Lear how how to use Application Gateway

Learn how to use Saga Pattern

Learn how to use Outbox Pattern

Learn how to implement structured Logging

Lear how to handle cross cutting concerns like ELK Stack, Observability etc

Learn how to put all the workloads on the K8s cluster

Learn how to apply Service Mesh using Istio

Learn how to implement Side Car pattern

Requirements

Basics of C#, .Net Core, Docker, Angular

Description

Disclaimer:- This course requires you to download "Docker Desktop" from Docker website. If you are a Udemy Business user, please check with your employer before downloading software.Welcome to "Building Amazon Style Full Stack Microservices"Have you ever wondered how Amazon’s massive e-commerce platform runs millions of transactions daily with seamless performance? This course is designed to help you build an Amazon-style system using .NET Core Microservices step by step.In this 20+ hours course with 200+ videos, you’ll not just learn the theory—you’ll build, run, and scale microservices like a pro. From creating a strong backend foundation to designing a modern UI and finally deploying with cloud infrastructure, this course is your roadmap to mastering real-world, production-grade systems.Course PhasesPhase 1 – Backend Microservices DevelopmentBuild Amazon-style backend services using .NET Core and Clean Architecture.Implement patterns like CQRS, Pub-Sub, and Event-Driven Communication.Also for reliability and resiliency patterns like Saga Pattern and Outbox Pattern.Apart from the Repository,  Specification and Factory Pattern. Use SQL Server, MongoDB, PostgreSQL, and Redis for persistence.Enable messaging and inter-service communication with RabbitMQ & GRPC.Run your entire microservices ecosystem locally on Docker containers.Phase 2 – Frontend Development (UI Layer)Build a fully functional E-commerce Web App inspired by Amazon.Develop with Angular, consuming APIs from the backend.Add modern UI features like product listing, filtering, cart management, and checkout.Implement error handling, pagination, and responsive design to deliver a production-grade storefront.Phase 3 – Infrastructure & DeploymentCloud Native Deployment on AzureComplete CI-CD setup.Deploy microservices on Kubernetes (AKS) with confidence.Manage traffic and observability using Istio Service Mesh.Automate deployments with Helm charts.Integrate monitoring and logging tools like Grafana & Prometheus.Take your system from local containers to cloud-scale, Amazon-style infrastructure.Who Is This Course For?Freshers wanting to break into backend and frontend development with Microservices.Junior Developers eager to move beyond CRUD apps into scalable system design.Mid-Level Developers who want to master frontend + backend + infra in one course.Senior Developers / Architects building distributed systems with modern tooling.Course Stats20+ Hours of in-depth, hands-on content.200+ Videos covering microservices, frontend, and cloud deployment.Step-by-Step Guidance – build from scratch, like an Amazon-style platform.Lifetime Access & Updates – stay current with evolving tech.Why This Course?This isn’t just another coding tutorial. By the end of this course, you’ll have:Built production-ready microservices with .NET Core.Designed a dynamic UI inspired by Amazon.Deployed your system with cloud-native infrastructure tools.Gained the skills to architect, develop, and scale enterprise-level systems.Your Amazon-Style Microservices Journey Starts Here.Join today and begin building scalable, secure, and efficient applications from the ground up.

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Application Flow

Lecture 3 Solution Overview

Lecture 4 Github Strategy

Lecture 5 Demo

Section 2: 2. Creating Catalog Microservices

Lecture 6 Introduction

Lecture 7 Creating Solution

Lecture 8 Creating Catalog Microservices

Lecture 9 Installing Nuget Packages

Lecture 10 Creating Base Entity

Lecture 11 Creating Product Entity

Lecture 12 Creating Product Brand and Product Type

Lecture 13 Creating Brand and Type Repository

Lecture 14 Creating Catalog Specification

Lecture 15 Creating Product Repository

Lecture 16 Creating Pagination Class and Extending Product Repository

Lecture 17 Implementing Brand Repository

Lecture 18 Implementing Type Repository

Lecture 19 Implementing Product Repository

Lecture 20 Implementing Product Repository - 2nd Part

Lecture 21 Creating Seed Data

Lecture 22 Creating Database Seeder

Lecture 23 Creating Product DTO

Lecture 24 Creating Get All Brands Query and Response

Lecture 25 Creating Get All Brands Handler

Lecture 26 Creating Get All Types Query and Handler

Lecture 27 Get All Products Query and Handler

Lecture 28 Get Product By Brand Query And Handler

Lecture 29 Get Product By Id Query and Handler

Lecture 30 Get Product By Name Query and Handler

Lecture 31 Create Product Command and Handler

Lecture 32 Update Product Command and Handler

Lecture 33 Delete product Command and Handler

Lecture 34 29. Creating Controller - Part 1

Lecture 35 30. Creating Catalog Controller - 2nd Part

Lecture 36 31. Creating Catalog Controller - 3rd Part

Lecture 37 32. Configuring Program.CS File

Lecture 38 Configuring Launch Properties

Lecture 39 Setting up Mongo Db using Docker Command

Lecture 40 Fixing the Docker Issue

Lecture 41 Fixing the Pagination Logic and Swagger Demo

Lecture 42 Testing other APIs say Post, Put and Delete

Lecture 43 Fixing Created Date Issue

Section 3: Creating Basket Microservice

Lecture 44 Introduction

Lecture 45 Creating Basket Microservice

Lecture 46 Creating Folder Structures

Lecture 47 Installing Nuget Packages

Lecture 48 Creating Basket Checkout Entity

Lecture 49 Creating Shopping Cart and Shopping Cart Items

Lecture 50 Creating IBasket Repository

Lecture 51 Implementing Basket Repository

Lecture 52 Creating Get basket By UserName Query

Lecture 53 Creating Shopping Cart and Item Response

Lecture 54 Creating Get Basket By User Name Handler

Lecture 55 Creating Basket Mapper

Lecture 56 Fixing the Mapper Issue

Lecture 57 Implementing Delete Basket Command and Handler

Lecture 58 Creating Shopping Cart Command and DTO

Lecture 59 Creating Shopping Cart Command Handler

Lecture 60 Creating Basket Controller - 1st Part

Lecture 61 Creating Shopping Cart and Item DTO

Lecture 62 Creating Basket Controller - 2nd Part

Lecture 63 Wiring up Program.CS File

Lecture 64 Setting up Launch Settings and Docker for Redis

Lecture 65 Swagger Demo

Lecture 66 Fixing Delete Basket Issue

Section 4: Creating Discount Microservice

Lecture 67 Introduction

Lecture 68 Creating Discount Microservices

Lecture 69 Creating Folder Structures

Lecture 70 Installing Nuget Packages

Lecture 71 Creating Coupon Entity

Lecture 72 Creating Discount Repository

Lecture 73 Implementing Discount Repository - 1st Part

Lecture 74 Implementing Discount Repository - 2nd Part

Lecture 75 Creating Discount Query

Lecture 76 Creating Get Discount Query Handler

Lecture 77 Creating Get Discount Handler

Lecture 78 Adding Custom Exception

Lecture 79 Using Custom Exception

Lecture 80 Creating Discount Command and Handler

Lecture 81 Extending Mapper with To Entity Method

Lecture 82 Creating Update Discount Command and Handler

Lecture 83 Creating Delete Command and Handler

Lecture 84 Refactoring the Solution Folder Structure

Lecture 85 Creating Db Migration Script

Lecture 86 Creating the Discount Protobuf file

Lecture 87 Creating Discount Service

Lecture 88 Creating Discount Service - 2nd Part

Lecture 89 Wiring up Components in Program file

Lecture 90 Setting Up App Settings

Section 5: Consuming Discount into Basket Microservice

Lecture 91 Introduction

Lecture 92 Creating Protobuf client file

Lecture 93 Installing Required Nuget Packages

Lecture 94 Creating Discount Grpc Service

Lecture 95 Making the AppSettings Changes

Lecture 96 Making Handler Changes to Apply Discount

Lecture 97 Registering Discount Service

Lecture 98 Running PostGreSql using Docker

Lecture 99 Fixing the Dependency Injection Issue

Lecture 100 Verifying the Coupon Table

Lecture 101 Swagger Demo

Section 6: Creating Ordering Microservice

Lecture 102 Introduction

Lecture 103 Creating Ordering Microservice

Lecture 104 Creating Folder Structures

Lecture 105 Installing Required Nuget Packages

Lecture 106 Creating Entities

Lecture 107 Creating IAsync Repository

Lecture 108 Creating Order Context Class

Lecture 109 Implementing IAsync Repository

Lecture 110 Overriding Save Changes Async Method

Lecture 111 Implementing Order Repository

Lecture 112 Creating Order Dto

Lecture 113 Creating Get Order List Query and Handler

Lecture 114 Creating Order Mapper

Lecture 115 Creating Checkout Order Command and Handler

Lecture 116 Creating Update Order Command and Handler

Lecture 117 Creating Mapping Function for Update Method

Lecture 118 Creating Order Not Found Exception

Lecture 119 Implementing Delete Order Command and Handler

Lecture 120 Creating Fluent Validation for Checkout Order Command

Lecture 121 Creating Fluent Validation for Update Order Command

Lecture 122 Creating Validation Behavior Middleware

Lecture 123 Creating Middleware to handle the Unhandled Exception Behavior

Lecture 124 Creating Order Context Factory

Lecture 125 Creating Seed Db Method

Lecture 126 Creating Db Migration Extension Method

Lecture 127 Registering Application Services

Lecture 128 Adding Infra Services

Lecture 129 Wiring up Program File

Lecture 130 Creating Orders Controller - 1st Part

Lecture 131 Creating Order Controller - 2nd Part

Lecture 132 Creating Order Controller - 3rd Part

Lecture 133 Applying SQL Migration

Lecture 134 Swagger Demo of Ordering

Section 7: Setting Up Async Communication Between Basket and Ordering Microservice

Lecture 135 Introduction

Lecture 136 Creating Infrastructure Project

Lecture 137 Creating Base Integration Event

Lecture 138 Creating Basket Checkout Event

Lecture 139 Installing Nuget Packages

Lecture 140 Creating Basket Checkout Command

Lecture 141 Creating Checkout Basket Command Handler

Lecture 142 Creating Basket Checkout Event Mapper

Lecture 143 Extending Basket Controller

Lecture 144 Wiring up Program File in Basket API

Lecture 145 Installing Nuget Packages in Ordering Microservice

Lecture 146 Creating Basket Ordering Consumer

Lecture 147 Creating Checkout Order Command Mapper

Lecture 148 Wiring up Mass Transit in Ordering Microservice

Lecture 149 Issue with Basket API

Lecture 150 Rabbit MQ Demo

Section 8: Implementing Saga Pattern

Lecture 151 Introduction

Lecture 152 Saga Pattern Overview

Lecture 153 Creating OutBox Message Entity

Lecture 154 Creating Order Status Entity

Lecture 155 Extending Order Context

Lecture 156 Extending Order Repository

Lecture 157 Extending Checkout Handler with Mapper

Lecture 158 Creating Outbox Message Dispatcher Service

Lecture 159 Creating Order Created Event

Lecture 160 Wiring Up Program file with Outbox Dispatcher

Lecture 161 Applying EF Migrations

Lecture 162 OutBox Pattern Demo

Section 9: Creating Payment Microservice

Lecture 163 Introduction

Lecture 164 Creating Payment Microservices

Lecture 165 Installing Nuget Packages

Lecture 166 Creating Order Created Consumer

Lecture 167 Wiring up Consumer in Program file

Lecture 168 App Settings Changes

Lecture 169 Creating Payment Completed Consumer

Lecture 170 Creating Payment Failed Consumer

Lecture 171 Wiring up Program file with new Consumers

Lecture 172 Saga Outbox Pattern Demo

Section 10: Creating Identity Microservice

Lecture 173 Introduction

Lecture 174 Creating Identity Microservice

Lecture 175 Installing Nuget Packages

Lecture 176 Creating Model and DbContext

Lecture 177 Setting up App Settings

Lecture 178 Wiring up Program File

Lecture 179 Understanding the Program File Change

Lecture 180 Creating Register and Login DTO

Lecture 181 Creating Authentication Controller - 1st Part

Lecture 182 Creating Authentication Controller - 2nd Part

Lecture 183 Updating the Launch Settings

Lecture 184 Setting Up Docker Container for Sql Server

Lecture 185 Setting up the Sql Server for Identity Db

Lecture 186 Identity Module Demo

Section 11: Creating Application Gateway

Lecture 187 Introduction

Lecture 188 Creating API Gateway Project

Lecture 189 Importing Nuget Packages

Lecture 190 Setting up Ocelot Routes

Lecture 191 Setting up App Settings File

Lecture 192 Wiring up Program File

Lecture 193 Understanding the Program File Changes

Lecture 194 API Gateway Demo

Lecture 195 JWT Decoder

Section 12: Implementing ELK Stack

Lecture 196 Introduction

Lecture 197 Creating Logging Project

Lecture 198 Installing Nuget Packages

Lecture 199 Creating Logging File Extension

Lecture 200 Understanding Logging Flow

Lecture 201 Adding Project Reference in MicroServices

Lecture 202 Adding Logging Configuration

Lecture 203 Adding Logging Configuration - 2nd Part

Lecture 204 Setting up Logging Context in API Gateway

Lecture 205 Creating Correlation Id Middleware

Lecture 206 Modifying the Ocelot.Json file

Lecture 207 Modifying the Ordering Command and Controller Method

Lecture 208 Modifying the Checkout Handler

Lecture 209 Adding Correlation Id at different service levels

Lecture 210 Docker setup for Elastic Search and Kibana

Section 13: Bonus Section

Lecture 211 What's Next

Lecture 212 Bonus Section

Intermediate to Senior .NET Developers who want to move beyond CRUD apps.,Software Architects looking to design scalable, event-driven systems.,Backend Engineers exploring Saga, Outbox, and message-driven architectures.,Full-Stack Developers aiming to build real-world e-commerce applications.,Cloud & DevOps Enthusiasts eager to work with Docker, RabbitMQ, and distributed systems.,Professionals preparing for advanced roles in microservices, system design, or solution architecture.,Tech leads and senior engineers who want to mentor teams on enterprise-grade microservices.,Educators & trainers seeking a solid reference project for teaching microservices patterns.