Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
.NET 8 Backend Bootcamp: Modulith, VSA, DDD, CQRS and Outbox
Rating: 4.8 out of 5(415 ratings)
3,524 students

.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
Created byMehmet Ozkaya
Last updated 5/2026
English

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

Course content

28 sections324 lectures24h 41m total length
  • Introduction10:07

    Explore modular monolith architecture in a .NET backend bootcamp, mastering vertical slice architecture, domain driven design, and the outbox pattern for reliable cross-module messaging.

  • Prerequisites, Source Code and Course Slides2:27

    Access the course prerequisites, source code on GitHub, and lecture slides; set up dotnet eight, Visual Studio, Docker Desktop with Docker Compose, and Postman to test the modular monolith.

  • See Final Application (need identity configurations - its only showcase)7:27

    Run the final application with Docker Compose, configure identity tokens, interact with catalog and basket APIs, implement the outbox pattern with RabbitMQ, and validate end-to-end checkout.

  • Project Code Structure5:38

    Explore the modular monolith code structure in Visual Studio, including bootstrapper, modules, and shared folders, with API entry points and vertical slice architecture.

  • Modular Monoliths Architectures, Patterns, Libraries and Best Practices5:22

    Explore modular monolith and microservice architectures, applying vertical slice architecture with domain-driven design, solid principles, and outbox and publish-subscribe patterns using PostgreSQL, Redis, and RabbitMQ with MassTransit.

  • How to Follow the Course (The Course Flow and Way of Learning)4:08

    Follow the course flow to build a modular monolith in Visual Studio, implement catalog and basket modules with Redis caching and Keycloak security, and use RabbitMQ outbox for messaging.

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;

  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.

Who this course is for:

  • Beginner to Senior .NET Developers who is curious about .NET Backend technologies with Modular Monolith Architectures