Skip to content
UdemyWeb DevelopmentPaid courseAll LevelsCertificate

.NET 8 Backend Bootcamp: Modulith, VSA, DDD, CQRS and Outbox (Udemy.com)

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

Created by: Mehmet Ozkaya

Last updated May 2026

Our take

Based on the ratings of 456 students, a sample of their written reviews and the syllabus, as the course stood in May 2026. No course pays to be reviewed.

Mehmet Ozkaya's course builds one large EShop application as a modular monolith on .NET 8. It runs about 24.7 hours across 324 lectures, and the syllabus shows Catalog, Basket, Identity and Ordering modules, each using vertical slices, CQRS with MediatR and DDD. Postgres, Redis, RabbitMQ with MassTransit and Keycloak all get wired in. It is labeled for all levels, but it assumes basic C#, and one reviewer says plainly it is not meant for beginners in ASP.NET Core.

Reviewers like that the instructor explains and plans before he codes, and that he makes sure every dependency is in place. One buyer says everything still worked as shown two years later. The course holds a 4.6 rating from 456 reviews, with 283 of them five stars. The complaints are consistent: AI-generated diagrams in the slides with garbled labels, a few gaps and small mistakes in the code, and one reviewer who found the speech hard to follow and relied on subtitles. Another wishes it covered real-world questions, like where shared external services should live.

It was last updated in May 2026. The final Strangler Fig section runs only 17 minutes, so treat it as a pointer, not a full migration guide. The project is big. It suits working .NET developers who want to watch a serious architecture get assembled. If you only want a short intro to CQRS, pick something smaller.

Best forC# developers who want one big EShop project showing modular monolith, CQRS and the Outbox pattern end to end.
Skip it ifYou are new to ASP.NET Core, or you care more about polished slides and clear audio than architecture depth.

Pros

  • Planning and theory come before code, so each module's design makes sense before it is built
  • One large, realistic project that covers Catalog, Basket, Identity and Ordering instead of a toy CRUD app
  • Covers the Outbox pattern, Redis caching and Keycloak security, not just CQRS basics
  • Source code is available, and one buyer says it still worked as shown two years on

Cons

  • Slides use AI-generated diagrams that several reviewers say have garbled labels and mistakes
  • Some reviewers report gaps and small inaccuracies in the implementation code
  • Focus is on tools and architecture, with little on real-world placement of shared services
I bought the course two years ago, and to this day, EVERYTHING still works exactly as shown in the course.
Fernando Hernández, a student

Listed for all levels, but it needs basic C# and one reviewer says it is not meant for beginners in ASP.NET Core.

icon
What you will 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 sections · 324 lectures · 25 hours of video 4 quizzes

  1. 1Introduction 1 free preview6 lectures · 35 min
  2. 2Monolithic Architecture - What's wrong with Traditional Monoliths ? 1 free preview4 lectures · 1 quiz · 10 min
  3. 3Microservices Architectures - Why it is not fit projects ?4 lectures · 1 quiz · 19 min
  4. 4The Bridge: Modular Monolith Architectures - Gateway between Monolithic and MS 1 free preview6 lectures · 1 quiz · 25 min
  5. 5Create EShop Modular Monolith Project Solution Structure 2 free previews16 lectures · 55 min
  6. 6Wire-up Dependencies Between Modules (DI Management of Modules) 1 free preview15 lectures · 42 min
  7. 7First Module: Catalog Module with Vertical Slice Architecture and CQRS 1 free preview4 lectures · 12 min
  8. 8Develop Shared Domain for Tactical DDD Abstraction (Entity, Aggreagate, Events)6 lectures · 22 min
  9. 9Develop Catalog Domain with Product Domain Entity Models7 lectures · 27 min
  10. 10Data Management of Modular Monolith: Setup Postgres as a Main Database10 lectures · 38 min

Who it is for

The instructor says it suits

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

What you need before you start

  • Basics of C# and programming

How it compares

Against the other 815 rated Udemy courses in Web Development on CourseDuck:

  • Rating4.6 out of 5higher than 70% of them
  • Reviews456#305 of 816 by number of reviews
  • Length24.7 hourslonger than 84% of them
  • Last updatedMay 2026more recently than 85% of them

icon
Course 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.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Mehmet Ozkaya

I have been 15+ years working experience on Software Development Industry as a Software/Solutions Architect positions at global companies.

Focused on AI Agents, GenAI and Microservices Architectures on .NET, AWS  and Azure ecosystems.

Developed agentic systems, genai and microservices repositories on GitHub and create Udemy courses from real-world applications.

Also create courses about Designing Agentic AI Software Architectures for Cloud-Native and Serverless Event-driven Microservices.

I have regularly develop on GitHub, blog on Medium.


GitHub : mehmetozkaya

icon
More courses by Mehmet Ozkaya

$69.99

$11.99

$12.99

$10.99

$13.99

$12.99

icon
More Web Development courses

$19.99

$89.99

$89.99

$79.99

$10.99

$84.99

icon
Reviews

4.6

456 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Max Lilleyman on 8/4/2026

The content so far is mostly good, the big issue I've had is the AI diagrams for the different topics, they're so bad, most of them genuinely don't make sense, the words are messed up, spelt wrong and in the wrong place, and the actual diagrams just has glaring mistakes that make them unusable. There are other diagrams that are being shown that are clearly made by people and they are much better. Don't use AI for diagrams

By Omar Saleh Mohammed on 5/10/2026

I love the way you teach and deliver knowledge, but if there is one thing that makes me frustrated whenever I come back to continue this course, it is that the focus is mostly on tools and architecture, rather than real-world use cases. For example, I want to understand things like where external integration services should live in the overall application. If I have duplicated external services across multiple modules, or different database integration setups like MongoDB, should I create a shared infrastructure setup that all modules can use to build their own services, or should each module handle this separately? I also want to understand the practical way of thinking about file placement. When should I create repositories, if they are needed at all? Should the feature folder contain side effects, or only orchestrate between different parts of the application? Is it correct to create an Integration folder and treat it like infrastructure, or should integration logic live directly beside the use case folder? These are the kinds of real-world cases I want to learn more about, but I cannot find anyone who can clearly answer these questions. Despite all that, I still appreciate the hard work and the huge amount of effort put into this course. Not many people can create something with this much depth.

By Fernando Hernández on 4/15/2026

I bought the course two years ago, and to this day, EVERYTHING still works exactly as shown in the course. It covers best practices, and you’ll always find something quite useful that helps you understand and learn how .NET and certain packages work. It’s not your typical e-commerce CRUD setup; you’ll actually learn how a complete system works, how to integrate components, how to properly separate responsibilities, and how to properly register libraries. The slides and intro sections help you understand exactly what will be covered in each section, and if you get lost, the source code is available. Don’t expect a deployment to Azure or a web client; expect high-level knowledge of monolithic .NET Web APIs. The course is incredible; I regret not taking it sooner. I hope more courses like this—or focused on .NET—continue to be created. The instructor is 100% recommended. I think you should have a moderate understanding of .NET, because otherwise the whole app design, the scaffolding, the multiple files, cross-project references, and message brokers (RabbitMQ) will be overwhelming. But if you give it a try, you’ll gain spectacular knowledge.

By Özgür Aşık on 4/12/2026

Would be a very good choice if you are a .Net developer who wants to keep up to date with the latest architecture design. Among the all good things, the most thing I like is tutor sharing the planning phase before jumping to the code. Thus, you can use these similar approach insights on your real life projects and get your processes leaner. The project that has been studied on is actually quite realistic and not a small one. Actually, one of the biggest tutorial project I have ever come across on Udemy. Even tutor himself make some minor logical mistakes or forgot to stick to he pattern as the project getting evolved. Other than those, Q&A section looks real dead.

By Corinne Kessler on 9/24/2025

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!

By Alejandro del Río Ledesma on 3/22/2025

The course is well design and introduce the design patterns and concepts when needed. The code is clean and readable so even if you don't understand at first, you can review the code and figure out anything. Feedback: I'm not an expert in .NET so, some of the code syntax was new to me and I had to google it, so, it would be good to have a list of prerequisites for this course, maybe a beginners course completion.

By Samuel Ketels on 2/17/2025

The content of the course is great and covers a lot of concepts. The tutor knows his stuff, which you can clearly tell. I learned some new things. However, this course can be at least 5 hours shorter because of the tedious repetitions of his slides (which sometimes don't even relate to the part of the course you are watching) and he reads them out loud without it having any added value. He says everything he does out loud (remove unnecessary using statements - yes we know already) and it becomes annoying and gives the impression he is creating empty content to sell. But, it is a good course with some really nice content. I would recommend to watch at higher speed and skip some lectures that don't start with Develop once you reach the Basket module part

By ElHadji Ousmane Diallo on 11/23/2024

Mehmet explains best architectural practices like Modular Monoliths, VSA, DDD, CQRS, Outbox Pattern for Reliable and how to practically implement them in .NET. He does it in a fully and well argumented way. He goes beyond showing how to migrate to microservices and create Client Apps to consume Api Module. Accompanying slides are a valuable ressource. A one stop course for .NET developers searching to advance their career.

By Thomas Günther on 10/8/2024

This course is really great. I learned a lot of new things (e.g. VSA). Even though the author has an accent that takes some getting used to, I was able to follow him completely and understood everything well. I had a lot of fun watching the course and reprogramming it. The theoretical explanations in the first sections in particular give you a few arguments as to why you should switch from monoliths to microservices or modules, for example. The course is very well structured, although it often contains repetitions, which are useful when jumping back and forth between sections. The source code is IMHO very well structured and written in a very understandable way. I was able to follow the whole thing very well. I've bought other courses from the author, which I'm going to look at bit by bit.

By Marko Domladovac on 9/29/2024

I found the course materials to be excellent. As someone returning to .NET after .NET 6, I was able to refresh some knowledge and learn a lot of new things about .NET 8. The content is precious, and the instructor's expertise is evident. I didn't let minor issues with English pronunciation affect my rating because the quality of the teaching is what truly matters. Great job!

Showing all 10 reviews on CourseDuck

Read all 456 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100