Course Overview
This course comes from a live github aspnetrun microservices repository which verified from community with 3000+ stars and 1600+ forks.
You will learn how to build Microservices on .Net platforms which used Asp.Net Web API, Docker, RabbitMQ, MassTransit, Grpc, Yarp API Gateway, PostgreSQL, Redis, SQLite, SqlServer, Marten, Entity Framework Core, CQRS, MediatR, DDD, Vertical and Clean Architecture implementation using latest codes and best practices of .NET 8 on cloud-native environments.
You will develop e-commerce modules over Product, Basket, Discount and Ordering microservices with NoSQL (PostgreSQL DocumentDB, Redis) and Relational databases (SQLite, Sql Server) with communicating over RabbitMQ Event Driven Communication and using Yarp API Gateway. You can find Microservices Architecture and Step by Step Implementation on .NET which step by step developing this course with extensive explanations and details.
Along with this you’ll develop following microservices and items:
Catalog microservice which includes;
ASP.NET Core Minimal APIs and latest features of .NET 8 and C# 12
Vertical Slice Architecture implementation with Feature folders
CQRS implementation using MediatR library
CQRS Validation Pipeline Behaviours with MediatR and FluentValidation
Marten library for .NET Transactional Document DB on PostgreSQL
Carter library for Minimal API endpoint definition
Cross-cutting concerns Logging, global Exception Handling and Health Checks
Dockerfile and docker-compose file for running Multi-container in Docker environment
Basket microservice which includes;
ASP.NET 8 Web API application, Following REST API principles, CRUD operations
Redis as a Distributed Cache over basketdb
Implements Proxy, Decorator and Cache-aside Design Patterns
Consume Discount gRPC Service for inter-service sync communication to calculate product final price
Publish BasketCheckout Queue with using MassTransit and RabbitMQ
Discount microservice which includes;
ASP.NET gRPC Server application
Build a Highly Performant inter-service gRPC Communication with Basket Microservice
Exposing gRPC Services with creating Protobuf messages
Entity Framework Core ORM - SQLite Data Provider and Migrations
SQLite database connection and containerization
Microservices Communication
Sync inter-service gRPC Communication
Async Microservices Communication with RabbitMQ Message-Broker Service
Using RabbitMQ Publish/Subscribe Topic Exchange Model
Using MassTransit for abstraction over RabbitMQ Message-Broker system
Publishing BasketCheckout event queue from Basket microservices and Subscribing this event from Ordering microservices
Create RabbitMQ EventBus.Messages library and add references Microservices
Ordering Microservice
Implementing DDD, CQRS, and Clean Architecture with using Best Practices
Developing CQRS with using MediatR, FluentValidation and Mapster packages
Use Domain Events & Integration Events
Entity Framework Core Code-First Approach, Migrations, DDD Entity Configurations
Consuming RabbitMQ BasketCheckout event queue with using MassTransit-RabbitMQ Configuration
SqlServer database connection and containerization
Using Entity Framework Core ORM and auto migrate to SqlServer when application startup
Yarp API Gateway Microservice
Implement API Gateways with Yarp Reverse Proxy applying Gateway Routing Pattern
Yarp Reverse Proxy Configuration; Route, Cluster, Path, Transform, Destinations
Rate Limiting with FixedWindowLimiter on Yarp Reverse Proxy Configuration
Sample microservices/containers to reroute through the API Gateways
WebUI ShoppingApp Microservice
ASP.NET Core Web Application with Bootstrap 4 and Razor template
Consume YarpApiGateway APIs using Refit Library with Generated HttpClientFactory
ASPNET Core Razor Tools — View Components, partial Views, Tag Helpers, Model Bindings and Validations, Razor Sections etc.
Docker Compose establishment with all microservices on docker;
Containerization of microservices
Orchestrating of microservices and backing services (databases, distributed caches, message brokers..)
Override Environment variables
On top of all these, you'll learn how to write quality code, not just how to build microservices. In this course you will see the demonstrating a layered application architecture with DDD best practices. Implements NLayer Hexagonal architecture (Core, Application, Infrastructure and Presentation Layers) and Domain Driven Design (Entities, Repositories, Domain/Application Services, DTO's...) and aimed to be a Clean Architecture, with applying SOLID principles in order to use for a project template. Also implements best practices like loosely-coupled, dependency-inverted architecture and using design patterns such as Dependency Injection, logging, validation, exception handling and so on.
Is this course for you?
This course is very practical, about 95%+ of the lessons will involve you coding along with me on this project. If you are the type of person who gets the most out of learning by doing, then this course is definitely for you.
Tools you need for this course
In this course all the lessons are demonstrated using Visual Studio as a code editor. You can of course use any code editor you like and any Operating system you like as long as it's Windows or Mac. Also using Docker Desktop in order to use different database providers.
FAQ
FAQ area empty
Course curriculum
-
Introduction
587 Xem trước -
Prerequisites, Source Code and Course Slides
169 Xem trước -
Run the Final Application
375 Xem trước -
Project Code Structure
233 Xem trước -
Microservices Architectures, Patterns, Libraries and Best Practices in Course
219 Xem trước -
Microservices Multi-Architectural Patterns (External vs Internal Architectures)
208 Xem trước -
How to Follow the Course (The Course Flow and Way of Learning)
215 Xem trước
-
What are Microservices ?
85 -
What is Microservices Architecture ?
109 -
Microservices Characteristics
142 -
Benefits of Microservices Architecture
162 -
Challenges of Microservices Architecture
166 -
When to Use Microservices Architecture - Best Practices
192 -
When Not to Use Microservices - Anti-Patterns of Microservices
162 -
Monolithic vs Microservices Architecture Comparison
158 -
The Database-per-Service Pattern - Polyglot Persistence
156 -
Decomposition of Ecommerce Microservices: Catalog, Basket, Discount and Ordering
414 -
The Architectural Kick-off: Pitching a Microservices Approach
0 -
Microservices Quiz
-
ASP.NET 8 for Microservice Development
200 -
Minimal APIs in ASP.NET Core
128 -
Create ASP.NET Core Web API for Single Microservice
346 -
Clear Project for Single Microservices: Setting Up a Minimal ASP.NET Web API
278 -
Todo Service: Create Minimal API with ASP.NET Core for Single Microservice
593 -
TEST - Todo Service: Create Minimal API w/ ASP.NET Core for Single Microservice
303 -
Containerize Microservices with Docker Containers, Images, and Registries
216 -
Containerize Todo Asp.Net Web API Microservice and Run Docker Profile
616
-
Introduction - Catalog.API with Vertical Slice Architecture and CQRS
299 -
Create New Github Repository For Our Microservice Project
88 -
Clone Github Repository and Create New Solution with Visual Studio
308 -
Create Asp.Net Web Api for Catalog.API Microservice
363 -
Set Port Numbers for Catalog.API Microservice - Modify Launch Settings
364 -
Domain Analysis of Catalog Microservices: Models, UCs, Rest Apis, Databases
313 -
Technical Analysis of Catalog Microservices: Architectures, Patterns, Libraries
333 -
Vertical Slice Architecture
279 -
Vertical Slice versus Clean Architecture
271 -
CQRS Design Pattern
193 -
Logical and Physical Implementation of CQRS Pattern
163 -
CQRS Design Pattern With MediatR Library (Logical CQRS Implementation)
266 -
Develop Catalog.API Microservices Creating Domain Entities
250 -
Develop Vertical Slice Feature Folder with CQRS and MediatR
249 -
Develop Feature Handler class with CQRS and MediatR
545 -
Create Abstraction on MediatR for CQRS - Command and Query separation
634 -
Create Abstraction on MediatR for CQRS - Command and Query separation - 2
506 -
Implement CQRS Abstractions ICommand into Vertical Slice Feature Handler class
416 -
Develop Create Product Endpoint with Minimal Apis and Carter
417 -
Develop POST Endpoint with Carter implements ICarterModule for Minimal Apis
254 -
Develop POST Endpoint with Carter implements ICarterModule for Minimal Apis - 2
392 -
Register MediatR and Carter libraries into Asp.Net Dependency Injection Service
221 -
Test Catalog API - CreateProduct POST Request - Debug Carter Minimal API and Med
594 -
Architectural Code Review: Justifying Vertical Slices and CQRS
0
-
Introduction - Develop Catalog.API Infrastructure, Handler and Endpoint Classes
67 -
Infrastructure - Data Concerns for Catalog API - Marten .NET Transactional DB
202 -
Opening Sessions in Marten as Document DB
200 -
Develop CommandHandler to Save Product to DB using Marten Library
384 -
Register and Configure Marten DocumentDB library into Program.cs asp.net DI
227 -
EShop Microservices Deployment Strategy
178 -
Setup PostgreSQL DB using Docker-compose file for Multi-container Docker env
259 -
Add PostgreSQL DB image into Docker-compose file for Multi-container Docker env
390 -
Run Docker-Compose on Visual Studio to setup PostgreSQL DB on Docker
350 -
Connect Postgres DB from local Catalog Microservices and send POST request
393 -
Develop GetProducts Feature in Vertical Slice with CQRS, MediatR in Handler clas
402 -
Develop GetProducts GET Endpoint with Minimal Apis and Carter
352 -
Test GetProducts Endpoint Connecting to Docker Postgres Container
313 -
Create Postman Collection for EShop Microservices
565 -
Develop GetProductById Handler with CQRS and MediatR
393 -
Develop GetProductById GET Endpoint with Minimal Apis and Carter
226 -
Test GetProductById Endpoint Connecting to Docker Postgres Container
184 -
Develop GetProductByCategory Handler with CQRS and MediatR
241 -
Develop GetProductByCategory GET Endpoint with Minimal Apis and Carter
206 -
Test GetProductByCategory Endpoint Connecting to Docker Postgres Container
134 -
Develop UpdateProduct Handler with CQRS and MediatR
330 -
Develop UpdateProduct PUT Endpoint with Minimal Apis and Carter
291 -
Test UpdateProduct Endpoint Connecting to Docker Postgres Container
235 -
Develop DeleteProduct Handler with CQRS and MediatR
252 -
Develop DeleteProduct DELETE Endpoint with Minimal Apis and Carter
236 -
Test DeleteProduct Endpoint Connecting to Docker Postgres Container
293
-
Introduction - Develop Catalog.API Cross-cutting Concerns
40 -
MediatR Pipeline Behaviours and Fluent Validation Library
244 -
Add Cross-cutting Concerns into BuildingBlocks Class Library for all services
180 -
Cross-cutting Concerns: Validate with AbstractValidator using Fluent Validation
592 -
Validation Pipeline Behaviour with MediatR using Fluent Validation Library
522 -
Remove Manual Validator and Test Validation Pipeline Behaviour with MediatR
339 -
Develop CRUD Command Validators with Fluent Validation Pipeline Behaviour
305 -
Global Handling Exceptions in ASP.NET Core with app.UseExceptionHandler
289 -
BuildingBlocks Handling Exceptions Generic Way w/ app.UseExceptionHandler
346 -
Global Exception Handling with IExceptionHandler interface in Asp.net Core
553 -
Register Custom Exception Handling into Asp.net with AddExceptionHandler method
303 -
Logging Behavior in MediatR Pipeline for Cross-cutting concerns
362 -
Test Logging Behaviour for all MediatR Requests on Catalog.API microservices
412 -
Seeding CatalogDb with Marten Initial Baseline Data (IInitialData interface)
537 -
Test Seeding Initial Data with Marten on PostgresDB for Catalog.API microservice
307 -
Develop Pagination for GetProducts Query with ToPagedListAsync extention method
336 -
Test Pagination for GetProducts Query with ToPagedListAsync extention method
226 -
Health Check for Catalog Microservices with PostgresDB
451 -
Containerize Catalog.API microservices with Docker
164 -
Orchestrate Catalog.API microservices with Docker-compose file
354 -
TEST - Docker-compose Catalog.API microservices with PostgresDB
428
-
Introduction - Basket Microservices with Vertical Slice Architecture and CQRS
125 -
Create Asp.Net Web API for Basket.API Microservice in Microservices Solution
204 -
Set Port Numbers for Basket.API Microservice - Modify Launch Settings
150 -
Domain Analysis of Basket Microservices: Models, UCs, Rest Apis, Databases
258 -
Technical Analysis of Basket Microservices: Architectures, Patterns, Libraries
253 -
Develop Basket.API Microservices Creating Domain Entities
157 -
Develop Vertical Slice Feature Folder with CQRS and MediatR
188 -
Develop GetBasket Feature Handler class with CQRS and MediatR
308 -
Develop Get Basket Endpoint with Minimal Apis and Carter
333 -
Develop StoreBasket Feature Handler class with CQRS and MediatR
388 -
Develop Store Basket Endpoint with Minimal Apis and Carter
166 -
Develop DeleteBasket Feature Handler class with CQRS and MediatR
163 -
Develop Delete Basket Endpoint with Minimal Apis and Carter
105 -
Register MediatR and Carter libraries into Asp.Net Dependency Injection Service
245 -
Test Basket API - GET and POST Basket Request - Debug Carter Minimal API
389 -
Infrastructure - Data Concerns for Basket API - Marten .NET Transactional DB
133 -
Develop BasketRepository Class using Marten Library
275 -
Implement IBasketRepository Class using Marten IDocumentSession interface
380 -
Register and Configure Marten DocumentDB library into Program.cs asp.net DI
275 -
Setup PostgreSQL DB for Basket ms using Docker-compose file for Multi-container
282 -
Run Docker-Compose on Visual Studio to setup PostgreSQL DB on Docker
187 -
Develop Basket Features in CQRS Handler classes using BasketRepository
354 -
Connect Postgres DB from local Basket Microservices and send POST request
282 -
TEST Basket Microservices Endpoints connecting with Marten and Postgres DB
247 -
Exception Handling in Basket Microservices
246
-
Distributed Caching with Redis in Basket Microservices
147 -
Cache-aside Pattern in Microservices / Cache Invalidation
208 -
Proxy Pattern, Decorator Pattern and Scrutor Library
212 -
Develop CachedBasketRepository with Proxy Pattern, Decorator Pattern and Scrutor
191 -
Develop CachedBasketRepository with Proxy Pattern, Decorator Pattern and Scrutor
519 -
Register Decorated CachedBasketRepository and StackExchangeRedis with Scrutor
329 -
ECommerce Microservices Deployment Strategy
129 -
Setup Redis as a Distributed Cache using Docker-compose file for Multi-container
149 -
Run Docker-Compose on Visual Studio to setup Redis Distributed Cache on Docker
222 -
Configure docker-compose launch settings - Not open browser for microservices
195 -
Connect Redis Cache from local Basket Microservices and send GET request
487 -
Health Check for Basket Microservices with PostgresDB and Redis Cache
421 -
Containerize Basket.API Microservices with Docker
127 -
Orchestrate Basket.API Microservices with Docker-compose file
371 -
TEST - Docker-compose Basket.API microservices with PostgresDB and Redis
444 -
Optimizing for Speed: A Caching and Resilience Code Review
0
-
Introduction - Discount.Grpc Microservices for Microservices Grpc Communication
185 -
Create Asp.Net Grpc for Discount Microservices in Microservices Solution
622 -
Domain Analysis of Discount Microservices: Models, UCs, Rest Apis, Databases
171 -
Technical Analysis of Discount Microservices: Architectures, Patterns, Libraries
196 -
Develop Discount.API Microservices Creating Domain Entities
59 -
Develop discount.proto ProtoBuf file for Exposing Crud Services in Discount Grpc
244 -
Generate Proto Service Class from Discount proto File in Discount Grpc service
208 -
Develop DiscountService class to Implement Grpc Proto Service Methods
181 -
Configure DiscountGrpc Service to Request Pipeline in Program.cs and Invoke Grpc
299 -
Entity Framework Core and SQLite Database Connection in Discount Microservices
307 -
Create SQLite Database using Entity Framework Core Tools in Discount service
316 -
Seed and Auto-Migrate SQLite Database using Entity Framework Core in Discount
353 -
TEST - Seed and Auto-Migrate SQLite Database using Entity Framework Core
247 -
Develop DiscountService class to Implement Grpc Proto Service Methods
498 -
Develop CreateDiscount in DiscountService class to Implement CRUD Grpc Proto
353 -
Develop UpdateDiscount in DiscountService class to Implement CRUD Grpc Proto
157 -
Develop DeleteDiscount in DiscountService class to Implement CRUD Grpc Proto
228 -
Containerize Discount.Grpc microservices with Docker
86 -
Orchestrate Discount.Grpc microservices with Docker-compose file
193 -
TEST - Docker-compose Discount.Grpc microservices with SQLite
401
-
Introduction - Consuming Discount Grpc Service From Basket Microservice
134 -
Consuming Discount Grpc Service From Basket Microservice When Adding Cart Item
374 -
Consuming Discount Grpc Service From Basket API Microservice When Adding Cart -2
230 -
Register Discount Grpc Client and Discount Grpc Service into the Basket.API
251 -
Test and Run Discount Grpc and Basket Microservice
436 -
Add Grpc DiscountUrl Configuration in Basket.API image configuration on Docker
277 -
Test on Docker environment - Basket.API communicate with Discount.Grpc in Docker
300 -
Test on Docker - Basket.API communicate with Discount.Grpc in Docker - Part 2
126
-
Introduction - Ordering Microservices with DDD, CQRS and Clean Architecture
208 -
Create Asp.Net Web Api for Ordering.API Microservice in Microservices Solution
279 -
Domain Analysis of Ordering Microservices: Models, UCs, Rest Apis, Databases
248 -
Technical Analysis of Ordering Microservices: Architectures, Patterns, Libraries
274 -
SOLID, KISS, YAGNI, SoC, DIP - Common Principles
202 -
Apply DDD, CQRS and Clean Architecture patterns in Ordering microservice
151 -
Domain Driven Design - DDD
205 -
Clean Architecture
224 -
Clean Architecture with Domain Driven Design(DDD)
506 -
Code Structure on DDD and Clean Architecture Layers in Ordering Microservices
132 -
Create Clean Architecture Layers: Domain, Application, Infrastructure and API
176 -
Adding Project References Between Clean Architecture Layers
229 -
Adding Dependency Injections Between Clean Architecture Layers
629 -
Architecting a Core Service: A DDD & Clean Architecture Interview
0
-
Tactical Domain-Driven Design: Entities, Value Objects, Aggregates, Agg. Roots
295 -
Develop DDD Abstractions (Entity, Aggregate, DomainEvent) in Ordering.Domain
676 -
Domain Modeling with Tactical DDD for Ordering Microservices
224 -
Develop Domain Modeling with DDD for Ordering Microservices
703 -
Primitive Obsession and Strongly typed IDs in DDD
178 -
Develop Strongly typed IDs for Order Entities
440 -
Anemic-domain vs Rich-domain Model Entities Entities in DDD
238 -
Develop DDD Rich-domain model Entity for Order Entities in Order.Domain Layer
385 -
Develop ValueObjects (Address, Payment) DDD Rich-domain model Entity
465 -
Develop DDD Rich-domain model for Order Entities in Order.Domain Layer
629 -
Domain Events in DDD and Domain vs Integration Events
349 -
Develop Order Created and Updated Domain Event in Ordering Microservices
244
-
Develop Ordering.Infrastructure Layer with EF Core Code First Approach
170 -
EF Core 8 Features, Code First Approach, Migrations and SQL Server Connection
186 -
Steps of EF Core Developments for Ordering.Infrastructure
333 -
Install EF Core Nuget Packages in Ordering.Infrastructure
140 -
Develop EF Core DBContext Object for Storing Entities in Ordering.Infrastructure
378 -
Mapping DDD Objects to EF Entities - Develop EF Core Entity Configurations
468 -
EF Core 8 Relations and DDD ValueObject Mapping with ComplexType and ComplexProp
168 -
Mapping DDD Objects to EF Entities - Develop Order Entity Configurations
578 -
EF Core SQL Server Connection String in appsettings.json file
138 -
Register EF Core DbContext in Asp.Net DependencyInjection Tool for SQL Server
243 -
Create EF Core Migrations for ApplicationDbContext in Ordering.Infrastructure
340 -
Create EF Core Migrations for ApplicationDbContext in Ordering.Infrastructure -2
487 -
Setup SQL Server DB using Docker-compose file for Multi-container Docker Env
209 -
Run Docker-Compose on Visual Studio to setup SQL Server DB on Docker
204 -
Apply EF Core Migrations to SQL Server DB with Update-Database Command
194 -
Auto Migrate EF Core Entities to SQL Server when Application Startup w/ Coding
416 -
Seed SQL Server OrderDb using EF Core when Application Startup with Coding
353 -
Seed Product and Orders in SQL Server OrderDb using EF Core when App Startup
325 -
Run Order Microservices to Migrate and Seed OrderDb in SQL Server using EF Core
385 -
EF Core Interceptors: SaveChangesInterceptor for Auditing Entities
197 -
Develop SaveChangesInterceptor to Auditing Entities for Order Entities
538 -
Run&Test Order Microservices for Audit with EF Save Changes Interceptor
278 -
Dispatch Domain Events w/ EF Core SaveChangesInterceptor
250 -
Develop DispatchDomainEventsInterceptor to Trigger Domain Event Handlers
649 -
Run&Test Order Microservices for Dispatch DomainEvents with EF Save Changes
361
-
Develop Ordering.Application Layer with CQRS and MediatR implement the Command
114 -
CQRS (Command Query Responsibility Segregation) Pattern in Ordering microservice
192 -
Event Sourcing Pattern
133 -
CQRS with Event Sourcing Pattern
119 -
Eventual Consistency Principle
148 -
Analysis of Ordering Microservice Application Layer
169 -
Implement CQRS Command and Command Handler Patterns with MediatR
274 -
Develop Ordering.Application Folder Structure for CQRS
199 -
Develop Dto Classes for Orders in Ordering.Application Layer
299 -
Develop Orders CreateOrderCommand and Handler in Ordering.Application Layer
428 -
Develop IApplicationDbContext for injection EFCore DB Context object in Ordering
449 -
Develop Orders CreateOrderCommandHandler using IApplicationDbContext in Ordering
379 -
Develop Orders UpdateOrderCommand and Handler using IApplicationDbContext
540 -
Develop Orders DeleteOrderCommand and Handler using IApplicationDbContext
401 -
Develop MediatR Pipeline Behaviours (Validation, Logging) in Ordering.App
260 -
Develop Domain Event Handlers with MediatR INotificationHandler in Ordering.App
380 -
Develop Domain Event Handlers with MediatR INotificationHandler in Ordering.App
281 -
Develop Order Queries with CQRS and MediatR in Ordering.Application Layer
542 -
Develop Extention method for ProjectToOrderDto use in GetOrders Methods
294 -
Develop GetOrdersByCustomer Queries w/ CQRS and MediatR in Ordering.Application
285 -
Develop Pagination Class for Query GetOrders using CQRS and MediatR
246 -
Develop GetOrders Query apply Pagination using CQRS and MediatR in Ordering.App
384 -
Code Review: CQRS and MediatR in the Application Layer
0
-
Develop Ordering.API Layer with Exposing Minimal REST APIs w/ Carter
234 -
Analysis the Ordering.API layer in Clean Architecture
129 -
Program.cs and Dependency Injection class in Ordering.API Layer
193 -
Developing Order Endpoints for REST APIs in Ordering.API Layer
334 -
Developing CreateOrder Endpoint for REST APIs in Ordering.API Layer
424 -
Developing UpdateOrder Endpoint for REST APIs in Ordering.API Layer
208 -
Developing DeleteOrder Endpoint for REST APIs in Ordering.API Layer
184 -
Developing GetOrdersByName Endpoint for REST APIs in Ordering.API Layer
160 -
Developing GetOrdersByCustomer Endpoint for REST APIs in Ordering.API Layer
155 -
Developing GetOrders Endpoint w/ Pagination for REST APIs in Ordering.API Layer
294 -
Testing Ordering.API Endpoints with CQRS and Clean Architecture Layers
383 -
Test Create Order Endpoint with CQRS and Clean Architecture Layers in Ordering
753 -
Test Update Order Endpoint with CQRS and Clean Architecture Layers in Ordering
387 -
Test Get Order Endpoints with CQRS and Clean Architecture Layers in Ordering
685 -
Test Delete Order Endpoint with CQRS and Clean Architecture Layers in Ordering
154 -
Cross-Cutting Concerns Custom Exception Handler in Ordering Microservice
276 -
Health Checks for Ordering Microservices with EF.Core and SQL Server
401
-
Introduction - Microservices Async Communication w/ RabbitMQ & MassTransit
179 -
Microservices Asynchronous Communication
200 -
Benefits of Asynchronous Communication
134 -
Challenges of Asynchronous Communication
102 -
Fan-Out Publish/Subscribe Messaging Pattern
164 -
Event-Driven Microservices Architecture
116 -
What is RabbitMQ and Main Components of RabbitMQ (Producer, Queue, Consumer..)
156 -
RabbitMQ Exchange Types: Direct, Fanout, Topic, and Headers
124 -
Domain Analysis of Async Communication between Basket and Ordering Microservices
225 -
Technical Analysis of Async Communication between Basket and Ordering ms
311 -
Steps of Developing Async Communication between Basket and Ordering Microservice
112 -
Create BuildingBlocks.Messaging Shared Class Library for Common Async connection
156 -
Develop BasketCheckout Event in BuildingBlocks.Messaging Shared Class Library
176 -
Develop MassTransit Extention Methods to Register RabbitMQ connection into DI
288 -
Develop MassTransit Extention Methods to Register RabbitMQ connection into DI -2
219 -
Publish BasketCheckout Event from Basket Microservices
304 -
Develop BasketCheckout Feature Folder to Expose POST Endpoint and Publish Event
403 -
Develop Basket Checkout Handler Method to Publish event to RabbitMQ-MassTransit
549 -
Dual-write Problem and Outbox Pattern
306 -
Ordering Microservices to Subscribe-Consume BasketCheckout event from RabbitMQ
251 -
Register MassTransit RabbitMQ packages into Ordering.Application DI
260 -
OrderCreated Integration Event: How Domain Event leads to Integration Event
272 -
Develop Basket Checkout Event Consumer integration event handler class
233 -
Develop Basket Checkout Event Consumer integration event handler class - 2
467 -
Saga Pattern for Distributed Transactions
278 -
Publish OrderCreated Integration event for Order Fullfiment microservices
451 -
Aspnet Feature Management Develop Feature Flag for OrderCreated Event
443 -
Setup RabbitMQ for Async Communication using Docker-compose file
333 -
Run Docker-Compose on Visual Studio to setup RabbitMQ on Docker
239 -
TEST- Publish BasketCheckout Event in Basket.API Microservices
836 -
TEST- Subscribe/Consume BasketCheckout Event in Ordering.API Microservices
1013 -
TEST- Set OrderFullfilment feature = false. Re-Test Publish - Subscribe/Consume
199 -
Containerize and Configure Basket, Ordering and RabbitMQ Containers
277 -
Containerize and Orchestrate Ordering microservices with Docker & Docker-Compose
428 -
TEST- Docker-Compose Microservices - Publish/Subscribe BasketCheckout Event
726 -
Decoupling the Checkout: An Asynchronous Architecture Review
0
-
Introduction - API Gateways with Yarp Reverse Proxy
184 -
Gateway Routing Pattern
139 -
API Gateway Pattern
166 -
Main features in the API Gateway Pattern
160 -
BFF Backend for Frontend Pattern
137 -
YARP Reverse Proxy for API Gateway
332 -
YARP Architecture with pipeline and Extensibility
207 -
Domain Analysis of YarpApiGateway Microservices: Models, UCs, Rest Apis,Database
297 -
Technical Analysis of YarpApiGateway Microservices: Architectures, Patterns
168 -
Create YarpApiGateway Microservices into ECommerce Solution
300 -
Develop Yarp Reverse Proxy in YarpApiGateway Microservices
444 -
Implement API Gateway using Yarp Reverse Proxy in YarpApiGateway Microservices
388 -
Implement API Gateway using Yarp Reverse Proxy in YarpApiGateway Microservices-2
331 -
TEST - Yarp Reverse Proxy as an API Gateway in YarpApiGateway Microservices
414 -
Rate Limiting to Yarp Reverse Proxy as an API Gateway in YarpApiGateway
355 -
Move Local Test Configuration to Local appsettings.json file-Yarp Reverse Proxy
210 -
Develop Yarp appsettings.json file Configurations for Docker Host Network
232 -
Containerize and Orchestrate YarpApiGateway Microservices for Reverse Proxy
283 -
TEST on Docker-Compose - Yarp Reverse Proxy as an API Gateway in YarpApiGateway
436 -
Designing the Front Door: A YARP API Gateway Proposal
0 -
API Gateway Quiz
-
Introduction - Shopping Web Client Application with Refit HttpClientFactory
225 -
Background of Project
146 -
Domain Analysis of Shopping.Web Microservices
137 -
Technical Analysis of Shopping.Web Microservices
171 -
Developing Shopping Web Application Microservices
355 -
Create Catalog Models for Shopping Web Application Microservices consume YarpApi
352 -
Create Basket Models for Shopping Web Application Microservices consume YarpApi
555 -
Create Ordering Models for Shopping Web Application Microservice consume YarpApi
337 -
Develop Service Classes for consume YarpApiGateway
290 -
Refit HttpClientFactory Library: The automatic type-safe REST library
185 -
Install and Configure Refit HttpClientFactory Library in our Shopping.Web ms
179 -
Develop ICatalogService Classes with Refit HttpClientFactory Library
252 -
Develop IBasketService Classes with Refit HttpClientFactory Library
358 -
Develop IOrderingService Classes with Refit HttpClientFactory Library
211 -
Build Presentation Layer: Asp.Net Web Application Razor Pages w/ AspNetRunBasics
631 -
Develop Index html Pages and cs files with Shared Partial Product pages
331 -
Develop Index C# Page Consume YarpApiGateway Endpoints with ICatalogService
478 -
AddToCart Submit Handle in Index cshtml Page with IBasketService
548 -
Develop Cart Razor Page in Shopping.Web Application
140 -
Develop Cart C# Page and Consume YarpApiGateway Endpoints with IBasketService
370 -
Develop ProductList Razor Page in Shopping.Web Application
208 -
Develop ProductList C# Page and Consume YarpApiGateway Endpoint w IBasketService
482 -
Develop ProductDetail Razor Page in Shopping.Web Application
117 -
Develop ProductDetail C# Page and Consume YarpApiGateway Endpoints
200 -
Develop Checkout and Confirmation Razor Page in Shopping.Web Application
225 -
Develop Checkout and Confirmation C# Page and Consume YarpApiGateway Endpoints
424 -
Develop OrderList and Contact Razor Page in Shopping.Web Application
234 -
Develop OrderList C# Page and Consume YarpApiGateway Endpoints w/ IBasketService
282 -
TEST - Shopping.Web Client Application using YarpApiGateway Microservices
843 -
Containerize and Orchestrate Shopping.Web Application in Docker-Compose
290 -
TEST on Docker-Compose - Shopping.Web Application consumes YarpApiGateway
335
Requirment
-
C# knowledge (generics, async/await, anonymous methods, action, predicate)
-
Aspnet basics knowledge
-
Docker basics knowledge
Outcomes
-
ASPNET Core 8 Web API Development of Microservices
-
ASPNET Minimal APIs and latest features of .Net8 and C# 12
-
Vertical Slice Architecture implementation with Feature folders
-
CQRS implementation using MediatR library
-
CQRS Validation Pipeline Behaviours with MediatR and FluentValidation
-
Marten library for .NET Transactional Document DB on PostgreSQL
-
Carter Library for Minimal API endpoint definition
-
Using Redis as a Distributed Cache over Basketdb
-
Implements Proxy, Decorator and Cache-aside Design Patterns
-
Build a Highly Performant inter-service gRPC Communication with Basket Microservice
-
Consume Discount Grpc Service for inter-service sync communication to calculate product final price
-
Publish BasketCheckout Queue with using MassTransit and RabbitMQ
-
PostgreSQL database connection and containerization
-
Implementing DDD, CQRS, and Clean Architecture with using Best Practices
-
Tactical Domain-Driven Design: Entities, Value Objects, Aggregates, Agg. Roots
-
Developing CQRS with using MediatR, FluentValidation and Mapster packages
-
Using Entity Framework Core ORM and auto migrate to SqlServer when application startup
-
Entity Framework Core Code-First Approach, Migrations, DDD Entity Configurations in Clean Architecture implementation
-
Async Microservices Communication with RabbitMQ Message-Broker Service
-
Using RabbitMQ Publish/Subscribe Topic Exchange Model
-
Consuming RabbitMQ BasketCheckout event queue with using MassTransit-RabbitMQ Configuration
-
Using MassTransit for abstraction over RabbitMQ Message-Broker system
-
API Gateways with Yarp Reverse Proxy applying Gateway Routing Pattern
-
Yarp Reverse Proxy Configuration; Route, Cluster, Path, Transform, Destinations
-
Rate Limiting with FixedWindowLimiter on Yarp Reverse Proxy Configuration
-
ASPNET Core Web Application with Bootstrap 4 and Razor template
-
Consume YarpApiGateway APIs using Refit Library with Generated HttpClientFactory
-
Cross-cutting concerns Logging, global Exception Handling and Health Checks
-
Dockerfile and docker-compose file for running Multi-container Docker environment
0 Student
5 Courses
0 review