Udemy

.NET 8 Backend Bootcamp: Modulith, VSA, DDD, CQRS and Outbox

Enroll Now
  • 2,829 Students
  • Updated 11/2025
4.8
(305 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Language
English
Taught by
Mehmet Ozkaya
Rating
4.8
(305 Ratings)

Course Overview

.NET 8 Backend Bootcamp: Modulith, VSA, DDD, CQRS and Outbox

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

In this bootcamp, you'll learn how to build robust, scalable, and maintainable applications using cutting-edge technologies and architectural patterns.

We will develop;

  1. Modular Monoliths (Modulith) Architecture

  2. Vertical Slice Architecture (VSA)

  3. Domain-Driven Design (DDD)

  4. Command Query Responsibility Segregation (CQRS)

  5. Outbox Pattern for Reliable Messaging

We 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# 12

  • Develop 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 event

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

  • Use Carter for expose Minimal Api endpoints

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

Basket module which includes;

  • Similar to Catalog Module; Develop DDD, CQRS, Vertical Slice Architecture implementation

    Additionally;

  • Using Redis as a Distributed Cache over PostgreSQL database

  • Develop and Implements Proxy, Decorator and Cache-aside patterns

  • Publish BasketCheckoutEvent to RabbitMQ via MassTransit library

  • Implement Outbox Pattern For Reliable Messaging w/ BasketCheckout Use Case

Module 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 Modules

Identity Module which includes;   

  • Develop User Identity Module with Keycloak Authentication

  • OAuth2 + OpenID Connect Flows with Keycloak

  • Setup Keycloak into Docker-compose file for Identity Provider as a Backing Service

  • Secure EShop Modules with Keycloak OpenId Connect in AspNet

  • JwtBearer token for OpenID Connect with Keycloak Identity

Ordering Module which includes;

  • Similar to the Catalog and Basket Module; Develop DDD, CQRS, Vertical Slice Architecture implementation

  • Implement Outbox Pattern For Reliable Messaging w/ BasketCheckout Use Case

Lastly, we will discuss

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

This 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.

Course Content

  • 10 section(s)
  • 324 lecture(s)
  • Section 1 Introduction
  • Section 2 Monolithic Architecture - What's wrong with Traditional Monoliths ?
  • Section 3 Microservices Architectures - Why it is not fit projects ?
  • Section 4 The Bridge: Modular Monolith Architectures - Gateway between Monolithic and MS
  • Section 5 Create EShop Modular Monolith Project Solution Structure
  • Section 6 Wire-up Dependencies Between Modules (DI Management of Modules)
  • Section 7 First Module: Catalog Module with Vertical Slice Architecture and CQRS
  • Section 8 Develop Shared Domain for Tactical DDD Abstraction (Entity, Aggreagate, Events)
  • Section 9 Develop Catalog Domain with Product Domain Entity Models
  • Section 10 Data Management of Modular Monolith: Setup Postgres as a Main Database

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


Reviews

  • a
    adryan salomo
    5.0

    so far it is in good pace and detailed explanation

  • M
    Muhammad Subhan Raza
    5.0

    It was good experience with this course. Learned so much from that and even implemented in my recent project.

  • C
    Corinne Kessler
    4.0

    I really liked the structure of the course. Just a small issue: I tried to run everything when you made a demo in the early chapters, but it didn't work with docker-compose from the repo, because the identity schema had not been created in Postgres. We created it manually much later on. It would be good to mention this in the video right away, I had lost quite some time trying to debug this issue. Overall it took me much more time to complete the course than the hours indicated in the description. This is the pure video streaming time, however, so I guess it is ok. Thank you!

  • I
    Ivan Rusev
    4.5

    Overall great even for less experienced devs

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed