.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.
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.
Listed for all levels, but it needs basic C# and one reviewer says it is not meant for beginners in ASP.NET Core.
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
- 1Introduction 1 free preview6 lectures · 35 min
- 2Monolithic Architecture - What's wrong with Traditional Monoliths ? 1 free preview4 lectures · 1 quiz · 10 min
- 3Microservices Architectures - Why it is not fit projects ?4 lectures · 1 quiz · 19 min
- 4The Bridge: Modular Monolith Architectures - Gateway between Monolithic and MS 1 free preview6 lectures · 1 quiz · 25 min
- 5Create EShop Modular Monolith Project Solution Structure 2 free previews16 lectures · 55 min
- 6Wire-up Dependencies Between Modules (DI Management of Modules) 1 free preview15 lectures · 42 min
- 7First Module: Catalog Module with Vertical Slice Architecture and CQRS 1 free preview4 lectures · 12 min
- 8Develop Shared Domain for Tactical DDD Abstraction (Entity, Aggreagate, Events)6 lectures · 22 min
- 9Develop Catalog Domain with Product Domain Entity Models7 lectures · 27 min
- 10Data Management of Modular Monolith: Setup Postgres as a Main Database10 lectures · 38 min
- 11Develop Shared and Catalog Data-Infrastructure with EF Core Code First24 lectures · 2.2 hours
- 12Application Use Case Development with CQRS and MediatR7 lectures · 30 min
- 13Catalog Application Use Case Development with CQRS and MediatR 1 free preview15 lectures · 59 min
- 14Develop Catalog API Endpoints Expose Minimal Api Endpoints with Carter and REPR18 lectures · 1.6 hours
- 15Develop Cross-cutting Concerns for Catalog and Each Module in EShop Modules18 lectures · 1.9 hours
- 16Develop Basket Module with Vertical Slice Architecture and CQRS5 lectures · 19 min
- 17Develop Basket Data-Infrastructure with EF Core Code First and PostgreSQL13 lectures · 46 min
- 18Develop Basket Application Use Case Development with CQRS and MediatR9 lectures · 40 min
- 19Develop Basket API Endpoints Exposing Minimal Api Endpoints with Carter and REPR14 lectures · 1.2 hours
- 20Develop Distributed Caching with Redis in Basket Module 1 free preview21 lectures · 1.9 hours
- 21Sync Communications between Modules with In-process Method Calls (Public APIs) 1 free preview13 lectures · 1.2 hours
- 22Async Communications between Modules w/ RabbitMQ & MassTransit for UpdatePrice 1 free preview27 lectures · 2 hours
- 23Develop User Identity Module with Keycloak Authentication 1 free preview17 lectures · 1.4 hours
- 24Ordering Module with Vertical Slice Architecture and CQRS7 lectures · 42 min
- 25Outbox Pattern For Reliable Microservices Messaging w/ BasketCheckout Use Case 1 free preview16 lectures · 1 quiz · 1.6 hours
- 26Containerize and Orchestrate EShop Modular App in Docker-Compose9 lectures · 42 min
- 27Migrating to Microservices: EShop Modules to Microservices w/ Strangler Fig 1 free preview12 lectures · 17 min
- 28Thanks1 lecture · 1 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
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;
Modular Monoliths (Modulith) Architecture
Vertical Slice Architecture (VSA)
Domain-Driven Design (DDD)
Command Query Responsibility Segregation (CQRS)
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.
Instructor Details
- 4.6 Rating
456 Reviews
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
More courses by Mehmet Ozkaya
Generative AI Architectures with LLM, Prompt, RAG, Vector DB (2026)
4.5 (26,705 Reviews)
Provider: Udemy
Time: 7.3h
$69.99
.NET 8 Microservices: DDD, CQRS, Vertical/Clean Architecture (2026)
4.5 (8,457 Reviews)
Provider: Udemy
Time: 28.4h
$11.99
Design Microservices Architecture with Patterns & Principles (2026)
4.5 (7,596 Reviews)
Provider: Udemy
Time: 14.8h
$12.99
Agentic AI Architectures with Patterns, Frameworks and MCP (2026)
4.6 (2,343 Reviews)
Provider: Udemy
Time: 7.5h
$10.99
Deploying .Net Microservices with K8s, AKS and Azure DevOps (2026)
4.5 (1,518 Reviews)
Provider: Udemy
Time: 10.3h
$13.99
Secure .Net Microservices with IdentityServer4 OAuth2,OpenID (2026)
4.3 (1,259 Reviews)
Provider: Udemy
Time: 5.5h
$12.99
More Web Development courses
Python Fullstack Mastery: Build Modern Web Apps with Django (2025)
5.0 (165 Reviews)
Provider: Udemy
Time: 35h
$19.99
NgRx Signal store for Angular - The missing guide (2026)
4.9 (436 Reviews)
Provider: Udemy
Time: 11.3h
$89.99
Vue 3: Create a Mobile & Desktop App (with Quasar 2 & Pinia) (2024)
4.9 (177 Reviews)
Provider: Udemy
Time: 7.6h
$79.99
Build a URL Shortener App with ASP.NET: Step by Step (2026)
4.9 (100 Reviews)
Provider: Udemy
Time: 9.6h
$10.99
The Complete Elixir and Phoenix Bootcamp (2021)
4.8 (7,773 Reviews)
Provider: Udemy
Time: 17.4h
$84.99
Reviews
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!
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 92 / 100












