.NET 8 Microservices: DDD, CQRS, Vertical/Clean Architecture
Develop Microservices on .NET 8 used ASP.NET Web API, Docker, RabbitMQ, MassTransit, gRPC, Yarp Gateway, Redis,SqlServer
Develop Microservices on .NET 8 used ASP.NET Web API, Docker, RabbitMQ, MassTransit, gRPC, Yarp Gateway, Redis,SqlServer
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 area empty
Introduction
587 Xem trướcPrerequisites, Source Code and Course Slides
169 Xem trướcRun the Final Application
375 Xem trướcProject Code Structure
233 Xem trướcMicroservices Architectures, Patterns, Libraries and Best Practices in Course
219 Xem trướcMicroservices Multi-Architectural Patterns (External vs Internal Architectures)
208 Xem trướcHow to Follow the Course (The Course Flow and Way of Learning)
215 Xem trướcWhat are Microservices ?
85What is Microservices Architecture ?
109Microservices Characteristics
142Benefits of Microservices Architecture
162Challenges of Microservices Architecture
166When to Use Microservices Architecture - Best Practices
192When Not to Use Microservices - Anti-Patterns of Microservices
162Monolithic vs Microservices Architecture Comparison
158The Database-per-Service Pattern - Polyglot Persistence
156Decomposition of Ecommerce Microservices: Catalog, Basket, Discount and Ordering
414The Architectural Kick-off: Pitching a Microservices Approach
0Microservices Quiz
ASP.NET 8 for Microservice Development
200Minimal APIs in ASP.NET Core
128Create ASP.NET Core Web API for Single Microservice
346Clear Project for Single Microservices: Setting Up a Minimal ASP.NET Web API
278Todo Service: Create Minimal API with ASP.NET Core for Single Microservice
593TEST - Todo Service: Create Minimal API w/ ASP.NET Core for Single Microservice
303Containerize Microservices with Docker Containers, Images, and Registries
216Containerize Todo Asp.Net Web API Microservice and Run Docker Profile
616Introduction - Catalog.API with Vertical Slice Architecture and CQRS
299Create New Github Repository For Our Microservice Project
88Clone Github Repository and Create New Solution with Visual Studio
308Create Asp.Net Web Api for Catalog.API Microservice
363Set Port Numbers for Catalog.API Microservice - Modify Launch Settings
364Domain Analysis of Catalog Microservices: Models, UCs, Rest Apis, Databases
313Technical Analysis of Catalog Microservices: Architectures, Patterns, Libraries
333Vertical Slice Architecture
279Vertical Slice versus Clean Architecture
271CQRS Design Pattern
193Logical and Physical Implementation of CQRS Pattern
163CQRS Design Pattern With MediatR Library (Logical CQRS Implementation)
266Develop Catalog.API Microservices Creating Domain Entities
250Develop Vertical Slice Feature Folder with CQRS and MediatR
249Develop Feature Handler class with CQRS and MediatR
545Create Abstraction on MediatR for CQRS - Command and Query separation
634Create Abstraction on MediatR for CQRS - Command and Query separation - 2
506Implement CQRS Abstractions ICommand into Vertical Slice Feature Handler class
416Develop Create Product Endpoint with Minimal Apis and Carter
417Develop POST Endpoint with Carter implements ICarterModule for Minimal Apis
254Develop POST Endpoint with Carter implements ICarterModule for Minimal Apis - 2
392Register MediatR and Carter libraries into Asp.Net Dependency Injection Service
221Test Catalog API - CreateProduct POST Request - Debug Carter Minimal API and Med
594Architectural Code Review: Justifying Vertical Slices and CQRS
0Introduction - Develop Catalog.API Infrastructure, Handler and Endpoint Classes
67Infrastructure - Data Concerns for Catalog API - Marten .NET Transactional DB
202Opening Sessions in Marten as Document DB
200Develop CommandHandler to Save Product to DB using Marten Library
384Register and Configure Marten DocumentDB library into Program.cs asp.net DI
227EShop Microservices Deployment Strategy
178Setup PostgreSQL DB using Docker-compose file for Multi-container Docker env
259Add PostgreSQL DB image into Docker-compose file for Multi-container Docker env
390Run Docker-Compose on Visual Studio to setup PostgreSQL DB on Docker
350Connect Postgres DB from local Catalog Microservices and send POST request
393Develop GetProducts Feature in Vertical Slice with CQRS, MediatR in Handler clas
402Develop GetProducts GET Endpoint with Minimal Apis and Carter
352Test GetProducts Endpoint Connecting to Docker Postgres Container
313Create Postman Collection for EShop Microservices
565Develop GetProductById Handler with CQRS and MediatR
393Develop GetProductById GET Endpoint with Minimal Apis and Carter
226Test GetProductById Endpoint Connecting to Docker Postgres Container
184Develop GetProductByCategory Handler with CQRS and MediatR
241Develop GetProductByCategory GET Endpoint with Minimal Apis and Carter
206Test GetProductByCategory Endpoint Connecting to Docker Postgres Container
134Develop UpdateProduct Handler with CQRS and MediatR
330Develop UpdateProduct PUT Endpoint with Minimal Apis and Carter
291Test UpdateProduct Endpoint Connecting to Docker Postgres Container
235Develop DeleteProduct Handler with CQRS and MediatR
252Develop DeleteProduct DELETE Endpoint with Minimal Apis and Carter
236Test DeleteProduct Endpoint Connecting to Docker Postgres Container
293Introduction - Develop Catalog.API Cross-cutting Concerns
40MediatR Pipeline Behaviours and Fluent Validation Library
244Add Cross-cutting Concerns into BuildingBlocks Class Library for all services
180Cross-cutting Concerns: Validate with AbstractValidator using Fluent Validation
592Validation Pipeline Behaviour with MediatR using Fluent Validation Library
522Remove Manual Validator and Test Validation Pipeline Behaviour with MediatR
339Develop CRUD Command Validators with Fluent Validation Pipeline Behaviour
305Global Handling Exceptions in ASP.NET Core with app.UseExceptionHandler
289BuildingBlocks Handling Exceptions Generic Way w/ app.UseExceptionHandler
346Global Exception Handling with IExceptionHandler interface in Asp.net Core
553Register Custom Exception Handling into Asp.net with AddExceptionHandler method
303Logging Behavior in MediatR Pipeline for Cross-cutting concerns
362Test Logging Behaviour for all MediatR Requests on Catalog.API microservices
412Seeding CatalogDb with Marten Initial Baseline Data (IInitialData interface)
537Test Seeding Initial Data with Marten on PostgresDB for Catalog.API microservice
307Develop Pagination for GetProducts Query with ToPagedListAsync extention method
336Test Pagination for GetProducts Query with ToPagedListAsync extention method
226Health Check for Catalog Microservices with PostgresDB
451Containerize Catalog.API microservices with Docker
164Orchestrate Catalog.API microservices with Docker-compose file
354TEST - Docker-compose Catalog.API microservices with PostgresDB
428Introduction - Basket Microservices with Vertical Slice Architecture and CQRS
125Create Asp.Net Web API for Basket.API Microservice in Microservices Solution
204Set Port Numbers for Basket.API Microservice - Modify Launch Settings
150Domain Analysis of Basket Microservices: Models, UCs, Rest Apis, Databases
258Technical Analysis of Basket Microservices: Architectures, Patterns, Libraries
253Develop Basket.API Microservices Creating Domain Entities
157Develop Vertical Slice Feature Folder with CQRS and MediatR
188Develop GetBasket Feature Handler class with CQRS and MediatR
308Develop Get Basket Endpoint with Minimal Apis and Carter
333Develop StoreBasket Feature Handler class with CQRS and MediatR
388Develop Store Basket Endpoint with Minimal Apis and Carter
166Develop DeleteBasket Feature Handler class with CQRS and MediatR
163Develop Delete Basket Endpoint with Minimal Apis and Carter
105Register MediatR and Carter libraries into Asp.Net Dependency Injection Service
245Test Basket API - GET and POST Basket Request - Debug Carter Minimal API
389Infrastructure - Data Concerns for Basket API - Marten .NET Transactional DB
133Develop BasketRepository Class using Marten Library
275Implement IBasketRepository Class using Marten IDocumentSession interface
380Register and Configure Marten DocumentDB library into Program.cs asp.net DI
275Setup PostgreSQL DB for Basket ms using Docker-compose file for Multi-container
282Run Docker-Compose on Visual Studio to setup PostgreSQL DB on Docker
187Develop Basket Features in CQRS Handler classes using BasketRepository
354Connect Postgres DB from local Basket Microservices and send POST request
282TEST Basket Microservices Endpoints connecting with Marten and Postgres DB
247Exception Handling in Basket Microservices
246Distributed Caching with Redis in Basket Microservices
147Cache-aside Pattern in Microservices / Cache Invalidation
208Proxy Pattern, Decorator Pattern and Scrutor Library
212Develop CachedBasketRepository with Proxy Pattern, Decorator Pattern and Scrutor
191Develop CachedBasketRepository with Proxy Pattern, Decorator Pattern and Scrutor
519Register Decorated CachedBasketRepository and StackExchangeRedis with Scrutor
329ECommerce Microservices Deployment Strategy
129Setup Redis as a Distributed Cache using Docker-compose file for Multi-container
149Run Docker-Compose on Visual Studio to setup Redis Distributed Cache on Docker
222Configure docker-compose launch settings - Not open browser for microservices
195Connect Redis Cache from local Basket Microservices and send GET request
487Health Check for Basket Microservices with PostgresDB and Redis Cache
421Containerize Basket.API Microservices with Docker
127Orchestrate Basket.API Microservices with Docker-compose file
371TEST - Docker-compose Basket.API microservices with PostgresDB and Redis
444Optimizing for Speed: A Caching and Resilience Code Review
0Introduction - Discount.Grpc Microservices for Microservices Grpc Communication
185Create Asp.Net Grpc for Discount Microservices in Microservices Solution
622Domain Analysis of Discount Microservices: Models, UCs, Rest Apis, Databases
171Technical Analysis of Discount Microservices: Architectures, Patterns, Libraries
196Develop Discount.API Microservices Creating Domain Entities
59Develop discount.proto ProtoBuf file for Exposing Crud Services in Discount Grpc
244Generate Proto Service Class from Discount proto File in Discount Grpc service
208Develop DiscountService class to Implement Grpc Proto Service Methods
181Configure DiscountGrpc Service to Request Pipeline in Program.cs and Invoke Grpc
299Entity Framework Core and SQLite Database Connection in Discount Microservices
307Create SQLite Database using Entity Framework Core Tools in Discount service
316Seed and Auto-Migrate SQLite Database using Entity Framework Core in Discount
353TEST - Seed and Auto-Migrate SQLite Database using Entity Framework Core
247Develop DiscountService class to Implement Grpc Proto Service Methods
498Develop CreateDiscount in DiscountService class to Implement CRUD Grpc Proto
353Develop UpdateDiscount in DiscountService class to Implement CRUD Grpc Proto
157Develop DeleteDiscount in DiscountService class to Implement CRUD Grpc Proto
228Containerize Discount.Grpc microservices with Docker
86Orchestrate Discount.Grpc microservices with Docker-compose file
193TEST - Docker-compose Discount.Grpc microservices with SQLite
401Introduction - Consuming Discount Grpc Service From Basket Microservice
134Consuming Discount Grpc Service From Basket Microservice When Adding Cart Item
374Consuming Discount Grpc Service From Basket API Microservice When Adding Cart -2
230Register Discount Grpc Client and Discount Grpc Service into the Basket.API
251Test and Run Discount Grpc and Basket Microservice
436Add Grpc DiscountUrl Configuration in Basket.API image configuration on Docker
277Test on Docker environment - Basket.API communicate with Discount.Grpc in Docker
300Test on Docker - Basket.API communicate with Discount.Grpc in Docker - Part 2
126Introduction - Ordering Microservices with DDD, CQRS and Clean Architecture
208Create Asp.Net Web Api for Ordering.API Microservice in Microservices Solution
279Domain Analysis of Ordering Microservices: Models, UCs, Rest Apis, Databases
248Technical Analysis of Ordering Microservices: Architectures, Patterns, Libraries
274SOLID, KISS, YAGNI, SoC, DIP - Common Principles
202Apply DDD, CQRS and Clean Architecture patterns in Ordering microservice
151Domain Driven Design - DDD
205Clean Architecture
224Clean Architecture with Domain Driven Design(DDD)
506Code Structure on DDD and Clean Architecture Layers in Ordering Microservices
132Create Clean Architecture Layers: Domain, Application, Infrastructure and API
176Adding Project References Between Clean Architecture Layers
229Adding Dependency Injections Between Clean Architecture Layers
629Architecting a Core Service: A DDD & Clean Architecture Interview
0Tactical Domain-Driven Design: Entities, Value Objects, Aggregates, Agg. Roots
295Develop DDD Abstractions (Entity, Aggregate, DomainEvent) in Ordering.Domain
676Domain Modeling with Tactical DDD for Ordering Microservices
224Develop Domain Modeling with DDD for Ordering Microservices
703Primitive Obsession and Strongly typed IDs in DDD
178Develop Strongly typed IDs for Order Entities
440Anemic-domain vs Rich-domain Model Entities Entities in DDD
238Develop DDD Rich-domain model Entity for Order Entities in Order.Domain Layer
385Develop ValueObjects (Address, Payment) DDD Rich-domain model Entity
465Develop DDD Rich-domain model for Order Entities in Order.Domain Layer
629Domain Events in DDD and Domain vs Integration Events
349Develop Order Created and Updated Domain Event in Ordering Microservices
244Develop Ordering.Infrastructure Layer with EF Core Code First Approach
170EF Core 8 Features, Code First Approach, Migrations and SQL Server Connection
186Steps of EF Core Developments for Ordering.Infrastructure
333Install EF Core Nuget Packages in Ordering.Infrastructure
140Develop EF Core DBContext Object for Storing Entities in Ordering.Infrastructure
378Mapping DDD Objects to EF Entities - Develop EF Core Entity Configurations
468EF Core 8 Relations and DDD ValueObject Mapping with ComplexType and ComplexProp
168Mapping DDD Objects to EF Entities - Develop Order Entity Configurations
578EF Core SQL Server Connection String in appsettings.json file
138Register EF Core DbContext in Asp.Net DependencyInjection Tool for SQL Server
243Create EF Core Migrations for ApplicationDbContext in Ordering.Infrastructure
340Create EF Core Migrations for ApplicationDbContext in Ordering.Infrastructure -2
487Setup SQL Server DB using Docker-compose file for Multi-container Docker Env
209Run Docker-Compose on Visual Studio to setup SQL Server DB on Docker
204Apply EF Core Migrations to SQL Server DB with Update-Database Command
194Auto Migrate EF Core Entities to SQL Server when Application Startup w/ Coding
416Seed SQL Server OrderDb using EF Core when Application Startup with Coding
353Seed Product and Orders in SQL Server OrderDb using EF Core when App Startup
325Run Order Microservices to Migrate and Seed OrderDb in SQL Server using EF Core
385EF Core Interceptors: SaveChangesInterceptor for Auditing Entities
197Develop SaveChangesInterceptor to Auditing Entities for Order Entities
538Run&Test Order Microservices for Audit with EF Save Changes Interceptor
278Dispatch Domain Events w/ EF Core SaveChangesInterceptor
250Develop DispatchDomainEventsInterceptor to Trigger Domain Event Handlers
649Run&Test Order Microservices for Dispatch DomainEvents with EF Save Changes
361Develop Ordering.Application Layer with CQRS and MediatR implement the Command
114CQRS (Command Query Responsibility Segregation) Pattern in Ordering microservice
192Event Sourcing Pattern
133CQRS with Event Sourcing Pattern
119Eventual Consistency Principle
148Analysis of Ordering Microservice Application Layer
169Implement CQRS Command and Command Handler Patterns with MediatR
274Develop Ordering.Application Folder Structure for CQRS
199Develop Dto Classes for Orders in Ordering.Application Layer
299Develop Orders CreateOrderCommand and Handler in Ordering.Application Layer
428Develop IApplicationDbContext for injection EFCore DB Context object in Ordering
449Develop Orders CreateOrderCommandHandler using IApplicationDbContext in Ordering
379Develop Orders UpdateOrderCommand and Handler using IApplicationDbContext
540Develop Orders DeleteOrderCommand and Handler using IApplicationDbContext
401Develop MediatR Pipeline Behaviours (Validation, Logging) in Ordering.App
260Develop Domain Event Handlers with MediatR INotificationHandler in Ordering.App
380Develop Domain Event Handlers with MediatR INotificationHandler in Ordering.App
281Develop Order Queries with CQRS and MediatR in Ordering.Application Layer
542Develop Extention method for ProjectToOrderDto use in GetOrders Methods
294Develop GetOrdersByCustomer Queries w/ CQRS and MediatR in Ordering.Application
285Develop Pagination Class for Query GetOrders using CQRS and MediatR
246Develop GetOrders Query apply Pagination using CQRS and MediatR in Ordering.App
384Code Review: CQRS and MediatR in the Application Layer
0Develop Ordering.API Layer with Exposing Minimal REST APIs w/ Carter
234Analysis the Ordering.API layer in Clean Architecture
129Program.cs and Dependency Injection class in Ordering.API Layer
193Developing Order Endpoints for REST APIs in Ordering.API Layer
334Developing CreateOrder Endpoint for REST APIs in Ordering.API Layer
424Developing UpdateOrder Endpoint for REST APIs in Ordering.API Layer
208Developing DeleteOrder Endpoint for REST APIs in Ordering.API Layer
184Developing GetOrdersByName Endpoint for REST APIs in Ordering.API Layer
160Developing GetOrdersByCustomer Endpoint for REST APIs in Ordering.API Layer
155Developing GetOrders Endpoint w/ Pagination for REST APIs in Ordering.API Layer
294Testing Ordering.API Endpoints with CQRS and Clean Architecture Layers
383Test Create Order Endpoint with CQRS and Clean Architecture Layers in Ordering
753Test Update Order Endpoint with CQRS and Clean Architecture Layers in Ordering
387Test Get Order Endpoints with CQRS and Clean Architecture Layers in Ordering
685Test Delete Order Endpoint with CQRS and Clean Architecture Layers in Ordering
154Cross-Cutting Concerns Custom Exception Handler in Ordering Microservice
276Health Checks for Ordering Microservices with EF.Core and SQL Server
401Introduction - Microservices Async Communication w/ RabbitMQ & MassTransit
179Microservices Asynchronous Communication
200Benefits of Asynchronous Communication
134Challenges of Asynchronous Communication
102Fan-Out Publish/Subscribe Messaging Pattern
164Event-Driven Microservices Architecture
116What is RabbitMQ and Main Components of RabbitMQ (Producer, Queue, Consumer..)
156RabbitMQ Exchange Types: Direct, Fanout, Topic, and Headers
124Domain Analysis of Async Communication between Basket and Ordering Microservices
225Technical Analysis of Async Communication between Basket and Ordering ms
311Steps of Developing Async Communication between Basket and Ordering Microservice
112Create BuildingBlocks.Messaging Shared Class Library for Common Async connection
156Develop BasketCheckout Event in BuildingBlocks.Messaging Shared Class Library
176Develop MassTransit Extention Methods to Register RabbitMQ connection into DI
288Develop MassTransit Extention Methods to Register RabbitMQ connection into DI -2
219Publish BasketCheckout Event from Basket Microservices
304Develop BasketCheckout Feature Folder to Expose POST Endpoint and Publish Event
403Develop Basket Checkout Handler Method to Publish event to RabbitMQ-MassTransit
549Dual-write Problem and Outbox Pattern
306Ordering Microservices to Subscribe-Consume BasketCheckout event from RabbitMQ
251Register MassTransit RabbitMQ packages into Ordering.Application DI
260OrderCreated Integration Event: How Domain Event leads to Integration Event
272Develop Basket Checkout Event Consumer integration event handler class
233Develop Basket Checkout Event Consumer integration event handler class - 2
467Saga Pattern for Distributed Transactions
278Publish OrderCreated Integration event for Order Fullfiment microservices
451Aspnet Feature Management Develop Feature Flag for OrderCreated Event
443Setup RabbitMQ for Async Communication using Docker-compose file
333Run Docker-Compose on Visual Studio to setup RabbitMQ on Docker
239TEST- Publish BasketCheckout Event in Basket.API Microservices
836TEST- Subscribe/Consume BasketCheckout Event in Ordering.API Microservices
1013TEST- Set OrderFullfilment feature = false. Re-Test Publish - Subscribe/Consume
199Containerize and Configure Basket, Ordering and RabbitMQ Containers
277Containerize and Orchestrate Ordering microservices with Docker & Docker-Compose
428TEST- Docker-Compose Microservices - Publish/Subscribe BasketCheckout Event
726Decoupling the Checkout: An Asynchronous Architecture Review
0Introduction - API Gateways with Yarp Reverse Proxy
184Gateway Routing Pattern
139API Gateway Pattern
166Main features in the API Gateway Pattern
160BFF Backend for Frontend Pattern
137YARP Reverse Proxy for API Gateway
332YARP Architecture with pipeline and Extensibility
207Domain Analysis of YarpApiGateway Microservices: Models, UCs, Rest Apis,Database
297Technical Analysis of YarpApiGateway Microservices: Architectures, Patterns
168Create YarpApiGateway Microservices into ECommerce Solution
300Develop Yarp Reverse Proxy in YarpApiGateway Microservices
444Implement API Gateway using Yarp Reverse Proxy in YarpApiGateway Microservices
388Implement API Gateway using Yarp Reverse Proxy in YarpApiGateway Microservices-2
331TEST - Yarp Reverse Proxy as an API Gateway in YarpApiGateway Microservices
414Rate Limiting to Yarp Reverse Proxy as an API Gateway in YarpApiGateway
355Move Local Test Configuration to Local appsettings.json file-Yarp Reverse Proxy
210Develop Yarp appsettings.json file Configurations for Docker Host Network
232Containerize and Orchestrate YarpApiGateway Microservices for Reverse Proxy
283TEST on Docker-Compose - Yarp Reverse Proxy as an API Gateway in YarpApiGateway
436Designing the Front Door: A YARP API Gateway Proposal
0API Gateway Quiz
Introduction - Shopping Web Client Application with Refit HttpClientFactory
225Background of Project
146Domain Analysis of Shopping.Web Microservices
137Technical Analysis of Shopping.Web Microservices
171Developing Shopping Web Application Microservices
355Create Catalog Models for Shopping Web Application Microservices consume YarpApi
352Create Basket Models for Shopping Web Application Microservices consume YarpApi
555Create Ordering Models for Shopping Web Application Microservice consume YarpApi
337Develop Service Classes for consume YarpApiGateway
290Refit HttpClientFactory Library: The automatic type-safe REST library
185Install and Configure Refit HttpClientFactory Library in our Shopping.Web ms
179Develop ICatalogService Classes with Refit HttpClientFactory Library
252Develop IBasketService Classes with Refit HttpClientFactory Library
358Develop IOrderingService Classes with Refit HttpClientFactory Library
211Build Presentation Layer: Asp.Net Web Application Razor Pages w/ AspNetRunBasics
631Develop Index html Pages and cs files with Shared Partial Product pages
331Develop Index C# Page Consume YarpApiGateway Endpoints with ICatalogService
478AddToCart Submit Handle in Index cshtml Page with IBasketService
548Develop Cart Razor Page in Shopping.Web Application
140Develop Cart C# Page and Consume YarpApiGateway Endpoints with IBasketService
370Develop ProductList Razor Page in Shopping.Web Application
208Develop ProductList C# Page and Consume YarpApiGateway Endpoint w IBasketService
482Develop ProductDetail Razor Page in Shopping.Web Application
117Develop ProductDetail C# Page and Consume YarpApiGateway Endpoints
200Develop Checkout and Confirmation Razor Page in Shopping.Web Application
225Develop Checkout and Confirmation C# Page and Consume YarpApiGateway Endpoints
424Develop OrderList and Contact Razor Page in Shopping.Web Application
234Develop OrderList C# Page and Consume YarpApiGateway Endpoints w/ IBasketService
282TEST - Shopping.Web Client Application using YarpApiGateway Microservices
843Containerize and Orchestrate Shopping.Web Application in Docker-Compose
290TEST on Docker-Compose - Shopping.Web Application consumes YarpApiGateway
335C# knowledge (generics, async/await, anonymous methods, action, predicate)
Aspnet basics knowledge
Docker basics knowledge
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