Топ-100 | Обзор | Комменты | Новости | RSS RSS | Поиск | Хочу! | Добавить ссылки | О сайте | FAQ | Профиль
RapidLinks - Скачай всё!
  


.Net Backend Bootcamp: Modulith, Vsa, Ddd, Cqrs And Outbox

.Net Backend Bootcamp: Modulith, Vsa, Ddd, Cqrs And Outbox



ВидеоВидео Рейтинг публикации: 0 (голосов: 0)  
https://i123.fastpic.org/big/2024/0903/9e/d4a253b2204351bbb34db8e9d61c0b9e.jpg
.Net Backend Bootcamp: Modulith, Vsa, Ddd, Cqrs And Outbox
Published 8/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 10.33 GB | Duration: 20h 12m

Develop EShop Modulith on .NET used Asp.Net Web API, PostgreSQL, Redis, RabbitMQ, Keycloak, Seq, Docker, MassTransit

What you'll learn

Modular Monoliths (Modulith) Architecture

Vertical Slice Architecture (VSA)

Domain-Driven Design (DDD)

Command Query Responsibility Segregation (CQRS)

Outbox Pattern for Reliable Messaging

CQRS (Command Query Responsibility Segregation) and Vertical Slice architectures for module development

Communicate over In-process method calls-public APIs and use RabbitMQ for event-driven communication

Secure APIs with Keycloak, using OpenID Connect and Bearer Tokens

ASPNET Core Minimal APIs and latest features of .Net8 and C# 12

Vertical Slice Architecture implementation with Feature folders

DDD, CQRS Patterns using MediatR library w/ following Best Practices

Use Domain Events & Integration Events when UpdatePriceChanged event

Use Entity Framework Core Code-First Approach and Migrations on PostgreSQL Database

Cross-cutting Concerns including Logging with Serilog, Validation with MediatR Pipeline Behaviors, Exceptions, Pagination

Using Redis as a Distributed Cache over PostgreSQL database

Develop Proxy, Decorator and Cache-aside patterns

Sync Communications between Catalog and Basket Modules w/ In-process Method Calls (Public APIs)

Async Communications between Modules w/ RabbitMQ & MassTransit

Develop User Identity Module with Keycloak Authentication

OAuth2 + OpenID Connect Flows with Keycloak

Outbox Pattern For Reliable Messaging w/ BasketCheckout Use Case

Publish BasketCheckoutEvent to RabbitMQ via MassTransit library, Consume from Ordering Module

Migrating to Microservices: EShop Modules to Microservices w/ Stranger Fig Pattern

Requirements

Basics of C# and programming

Description

In this bootcamp, you'll learn how to build robust, scalable, and maintainable applications using cutting-edge technologies and architectural patterns.We will develop;Modular Monoliths (Modulith) ArchitectureVertical Slice Architecture (VSA)Domain-Driven Design (DDD)Command Query Responsibility Segregation (CQRS)Outbox Pattern for Reliable MessagingWe start with the basics and progressively dive deeper into each topic. You'll get hands-on experience building a complete EShop Modular Monolith application, implementing features like CQRS and the Outbox pattern.We'll follow CQRS (Command Query Responsibility Segregation) and Vertical Slice architectures for module development.Modules will communicate over In-process method calls-public APIs and use RabbitMQ for event-driven communication.We'll secure our APIs with Keycloak, using OpenID Connect and Bearer Tokens.We'll implement the Outbox Pattern for reliable messaging between modules.Along with this you'll develop following modules and items:Catalog module which;Using Asp.Net Core Minimal APIs and latest features of .Net8 and C# 12Develop Vertical Slice Architecture implementation with Feature folders Develop DDD, CQRS Patterns using MediatR library w/ following Best Practices Use Domain Events & Integration Events when UpdatePriceChanged eventUse Entity Framework Core Code-First Approach and Migrations on PostgreSQL DatabaseUse Carter for expose Minimal Api endpointsCross-cutting Concerns including Logging with Serilog, Validation with MediatR Pipeline Behaviors, Exceptions, PaginationBasket module which includes;Similar to Catalog Module; Develop DDD, CQRS, Vertical Slice Architecture implementationAdditionally;Using Redis as a Distributed Cache over PostgreSQL database Develop and Implements Proxy, Decorator and Cache-aside patternsPublish BasketCheckoutEvent to RabbitMQ via MassTransit libraryImplement Outbox Pattern For Reliable Messaging w/ BasketCheckout Use CaseModule Communications;Sync Communications between Catalog and Basket Modules with In-process Method Calls (Public APIs)Async Communications between Modules w/ RabbitMQ & MassTransit for UpdatePrice Between Catalog-Basket ModulesIdentity Module which includes; Develop User Identity Module with Keycloak AuthenticationOAuth2 + OpenID Connect Flows with KeycloakSetup Keycloak into Docker-compose file for Identity Provider as a Backing ServiceSecure EShop Modules with Keycloak OpenId Connect in AspNetJwtBearer token for OpenID Connect with Keycloak Identity Ordering Module which includes;Similar to the Catalog and Basket Module; Develop DDD, CQRS, Vertical Slice Architecture implementationImplement Outbox Pattern For Reliable Messaging w/ BasketCheckout Use CaseLastly, we will discussMigrating to Microservices: EShop Modules to Microservices w/ Stranger Fig PatternThis course is more than just learning .NET, it's a deep dive into the world of Modular Monoliths with Vertical-Slice Architecture, Domain-Driven Design (DDD), CQRS, and advanced architectural patterns for Backend Development.

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Prerequisites, Source Code and Course Slides

Lecture 3 Run the Final Application

Lecture 4 Project Code Structure

Lecture 5 Modular Monoliths Architectures, Patterns, Libraries and Best Practices

Lecture 6 How to Follow the Course (The Course Flow and Way of Learning)

Section 2: Monolithic Architecture - What's wrong with Traditional Monoliths ?

Lecture 7 What is Traditional Monoliths (Monolithic Architecture) ?

Lecture 8 When to use Monolithic Architecture

Lecture 9 What's wrong with Traditional Monolithic Architecture ?

Lecture 10 Technology Lock-In and Fear Cycle in Traditional Monolithic Architecture

Lecture 11 Big Ball of Mud

Section 3: Microservices Architectures - Why it is not fit projects ?

Lecture 12 What are Microservices and Microservices Architecture ?

Lecture 13 When to Use Microservices Architecture

Lecture 14 What's wrong with Microservices Architecture ?

Lecture 15 Fallacies of Distributed Computing

Lecture 16 Microservices Antipattern: The Distributed Monolith

Lecture 17 Amazon Case: Rearchitecting from a Distributed Microservices to a Monolith

Section 4: The Bridge: Modular Monolith Architectures - Gateway between Monolithic and MS

Lecture 18 What is Modular Monolithic (Modulith) Architecture ?

Lecture 19 Why Modular Monoliths ? Advantages over Microservices ?

Lecture 20 Monolith First Approaches from Martin Fowler and Sam Newman

Lecture 21 Starting Point for Microservices: Gradually Transition with Incremental Refactor

Lecture 22 Compare of Monolith, Microservices, Modular Monolith: Communications and Data

Lecture 23 Compare of Monolith, Microservices, Modular Monolith: Development and Deployment

Lecture 24 Shopify Modular Monolithic Architecture

Lecture 25 Decomposition of EShop Modules: Catalog, Basket, Identity and Ordering Modules

Section 5: Create EShop Modular Monolith Project Solution Structure

Lecture 26 Introduction - Create EShop Modular Monolith Project Solution Structure

Lecture 27 Create GitHub Repository for EShop Modular Monolithic Architecture

Lecture 28 Create New Blank Solution: eshop-modular-monoliths

Lecture 29 Modular Monolith Folder Structure: Bootstrapper, Modules, Shared

Lecture 30 Create Bootstrapper Api Project

Lecture 31 Configure Empty Web Project to Bootstrapper Api of Modular Monolith

Lecture 32 Create Modules Folders according to DDD Bounded Context Analysis

Lecture 33 External vs Internal Architecture of Modular Monoliths Architecture

Lecture 34 Vertical Slice Architecture

Lecture 35 Clean Architecture

Lecture 36 Vertical Slice versus Clean Architecture

Lecture 37 Create Module Projects as a Class Library

Lecture 38 Shared Kernel Pattern in DDD

Lecture 39 Created Shared Kernel Class Library Project for All Modules

Lecture 40 Shared Project Dependencies to Modules Projects

Lecture 41 Module Dependencies to Bootstrapper Asp.Net Api Project

Section 6: Wire-up Dependencies Between Modules (DI Management of Modules)

Lecture 42 Introduction - Wire-up Dependencies Between Modules (DI Management of Modules)

Lecture 43 Asp.net Dependency Injection Management and Program.cs

Lecture 44 Wiring up dependencies between modules

Lecture 45 Develop AddCatalogModule extention method in CatalogModule.cs

Lecture 46 Registering Catalog Dependencies into Program.cs

Lecture 47 Develop AddBasketModule, AddOrderingModule extention methods

Lecture 48 Registering Basket and Ordering Dependencies into Program.cs

Lecture 49 Asp.net Middlewares and Http Request Pipeline

Lecture 50 Configure Http Request Pipelines for Modules in Program.cs

Lecture 51 Examine WebApplication Class Use Abstractions and Install Required Packages

Lecture 52 Develop UseCatalogModule extention method for Module Configure the HTTP request

Lecture 53 Integrating UseCatalogModule in Program.cs

Lecture 54 Develop UseBasketModule and UseOrderingModule extention method for Module Config

Lecture 55 Integrating UseBasketModule and UseOrderingModule extention method in Program.cs

Lecture 56 Add GlobalUsings.cs for Each Project to Avoid Redundant Using Statements

Section 7: First Module: Catalog Module with Vertical Slice Architecture and CQRS

Lecture 57 Introduction - First Module: Catalog Module with Vertical Slice Architecture

Lecture 58 Domain Analysis of Catalog Module: Models, UCs, Rest Apis, Databases

Lecture 59 Technical Analysis of Catalog Module: Architectures, Patterns, Libraries, Folder

Lecture 60 Way of Development: Shared -> Modules -> API

Section 8: Develop Shared Domain for Tactical DDD Abstraction (Entity, Aggreagate, Events)

Lecture 61 Introduction - Develop Shared Domain for Tactical DDD Abstraction

Lecture 62 Domain Driven Design - DDD

Lecture 63 Tactical Domain-Driven Design: Entities, Value Objects, Aggregates, A. Rooots

Lecture 64 Develop DDD Abstractions (Entity, Aggregate, DomainEvent) in Shared Library

Lecture 65 Develop IDomainEvent interface in Tactical DDD Abstraction using MediatR

Lecture 66 Develop Aggregate classes in Tactical DDD Abstraction

Section 9: Develop Catalog Domain with Product Domain Entity Models

Lecture 67 Introduction - Develop Catalog Domain with Product Domain Entity Models

Lecture 68 Develop Product Domain Entity Models in Catalog Module Domain Models

Lecture 69 Anemic-domain vs Rich-domain Model Entities Entities in DDD

Lecture 70 Develop DDD Rich-domain model Entity for Product Entity

Lecture 71 Domain Events in DDD and Domain vs Integration Events

Lecture 72 Develop Product Created and Updated Domain Event in Catalog Module

Lecture 73 Raise ProductCreated and ProductPriceChanged Domain Event in Catalog Module

Section 10: Data Management of Modular Monolith: Setup Postgres as a Main Database

Lecture 74 Introduction - Data Management of Modular Monolith: Setup Postgres DB

Lecture 75 Data Management of Modular Monoliths: 4 Data Isolation Strategies

Lecture 76 Best Practice: DB Schema separation of Modules in Modular Monoliths apps

Lecture 77 Multi-context EF DB Context object for DB Separate Schema for Data Isolation

Lecture 78 Backing Services for Cloud-Native Architectures

Lecture 79 EShop Modular Monolith Deployment Strategy

Lecture 80 Setup PostgreSQL DB using Docker-compose file for Multi-container Docker env

Lecture 81 Add PostgreSQL DB image into Docker-compose file for Multi-container Docker env

Lecture 82 Run Docker-Compose on Visual Studio to setup PostgreSQL DB on Docker

Lecture 83 Connect and Browse PostgreSQL DB using pgAdmin

Section 11: Develop Shared and Catalog Data-Infrastructure with EF Core Code First

Lecture 84 Introduction - Develop Shared and Catalog Data-Infrastructure Layer with EF Core

Lecture 85 EF Core 8 Features, Code First Approach, Migrations and PostgreSQL Connection

Lecture 86 Steps of EF Core Developments for Shared and Catalog Data-Infrastructure

Lecture 87 Install EF Core Nuget Packages in Shared Library

Lecture 88 Develop EF Core DBContext Object for Storing Entities in Catalog Module

Lecture 89 Mapping DDD Objects to EF Entities - Develop EF Core Entity Configurations

Lecture 90 EF Core PostgreSQL Connection String in appsettings.json file

Lecture 91 Register EF Core DbContext in Asp.Net DependencyInjection Tool for PostgreSQL

Lecture 92 Create EF Core Migrations for CatalogDbContext - Part 1

Lecture 93 Create EF Core Migrations for CatalogDbContext - Part 2

Lecture 94 Review and Run Docker-Compose on Visual Studio to setup PostgreSQL DB on Docker

Lecture 95 Apply EF Core Migrations to PostgreSQL DB with Update-Database Command

Lecture 96 Auto Migrate EF Core Entities to PostgreSQL DB when Application Startup

Lecture 97 Develop Generic UseMigration extention method for DB Migration and Seed

Lecture 98 Using UseMigration extention method on Module DependencyInjection classes

Lecture 99 Test Auto-Migrations with UseMigration extention method on WebApplication

Lecture 100 Seed EShopDb Product Data When Application Startup Just After UseMigration

Lecture 101 Run Catalog Module to Migrate and Seed EShopDb with UseMigration method

Lecture 102 EF Core Interceptors: SaveChangesInterceptor for Auditing Entities

Lecture 103 Develop SaveChangesInterceptor to Auditing Entities for Order Entities

Lecture 104 Run&Test Catalog Module for Audit with EF Save Changes Interceptor

Lecture 105 Dispatch Domain Events w/ EF Core SaveChangesInterceptor

Lecture 106 Develop DispatchDomainEventsInterceptor to Trigger Domain Event Handlers

Lecture 107 Run&Test Catalog Module for Dispatch DomainEvents w/ EF SaveChanges Interceptor

Section 12: Application Use Case Development with CQRS and MediatR

Lecture 108 Introduction - Application Use Case development with CQRS and MediatR

Lecture 109 CQRS (Command Query Responsibility Segregation) Pattern

Lecture 110 Logical and Physical Implementation of CQRS Pattern

Lecture 111 CQRS Design Pattern With MediatR Library (Logical CQRS Implementation)

Lecture 112 Develop Feature Handler class with CQRS and MediatR

Lecture 113 Create Abstraction on MediatR for CQRS - Command and Query Separation

Lecture 114 Create Abstraction on MediatR for CQRS - Command and Query Separation - 2

Section 13: Catalog Application Use Case Development with CQRS and MediatR

Lecture 115 Introduction - Catalog Application Use Case Development with CQRS and MediatR

Lecture 116 Quick Remember Catalog Module Application Use Cases Analysis

Lecture 117 Develop Catalog Module Folder Structure for CQRS

Lecture 118 Develop Dto Classes for Product in Catalog Module

Lecture 119 Develop Products CreateProductCommand and Handler in Catalog Modules Application

Lecture 120 Develop Products CreateProductCommandHandler using CatalogDbContext in Catalog

Lecture 121 Develop Products UpdateProductCommand and Handler using CatalogDbContext

Lecture 122 Develop Products DeleteProductCommand and Handler using CatalogDbContext

Lecture 123 Develop Product Queries with CQRS and MediatR in Catalog Module

Lecture 124 Mapping with Mapster

Lecture 125 Develop Product Queries with CQRS and MediatR in Catalog Module w/ Mapster

Lecture 126 Develop GetProductByCategory Queries with CQRS and MediatR in Catalog Module

Lecture 127 Develop GetProductById Queries with CQRS and MediatR in Catalog Module

Lecture 128 Develop Domain Event Handlers with MediatR INotificationHandler in Catalog

Lecture 129 Develop Domain Event Handlers with MediatR INotificationHandler - Part 2

Section 14: Develop Catalog API Endpoints Expose Minimal Api Endpoints with Carter and REPR

Lecture 130 Introduction - Develop Catalog API Endpoints Exposing Minimal Api Endpoints

Lecture 131 REPR Design Pattern and CQRS MediatR Request LifeCycle

Lecture 132 Minimal Apis and Install Carter Library to Expose Minimal Apis

Lecture 133 Quick Remember Catalog Module Endpoints Analysis

Lecture 134 Develop CreateProduct POST Endpoint with Carter implements ICarterModule

Lecture 135 Develop CreateProduct POST Endpoint with Carter implements ICarterModule- Part 2

Lecture 136 Developing UpdateProduct Endpoint for REST
  • Добавлено: 03/09/2024
  • Автор: 0dayhome
  • Просмотрено: 3
Ссылки: (для качалок)
Общий размер публикации: 10,3 ГБ
Еще Видео: (похожие ссылки)


Написать комментарий