This in-depth course will transform the way you build modern systems. You will learn the best practices for applying the Modular Monolith architecture in a real-world scenario. Join 500+ other students to accelerate your growth as a software architect.
Modular Monolith Architecture
12h 48m 50s
English
Paid
More Than Just Theory
Modular Monolith Architecture includes more than just theoretical discussion.
We're going to build a production-ready system from scratch. This includes dozens of API endpoints, 50+ use cases, and 6000+ lines of code.
I built the course with bonus resources to make sure you apply what you learn.
After Completing This Course You Will
- Confidently use Modular Monoliths to build robust and scalable systems
- Learn how to create an architecture that stands the test of time
- Understand how to implement an event-driven system
- Easily migrate to microservices (if you need to)
About the Author: Milan Jovanović
Hi – I'm Milan Jovanović. I help software engineers improve their .NET and software architecture skills.
I'm a Software Architect and Microsoft MVP for Developer Technologies with years of experience building large-scale systems.
I've helped thousands of people become better software engineers through my practical tips on social media, The .NET Weekly newsletter, and YouTube channel.
My goal is to teach you everything I learned while building and maintaining production-ready applications using Clean Architecture.
Watch Online 59 lessons
0:00
/ #1: Agenda, Your Instructor, Course Structure
All Course Lessons (59)
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Agenda, Your Instructor, Course Structure Demo | 05:58 | |
| 2 | How To Use This Course | 02:33 | |
| 3 | Introduction, Monoliths and Microservices | 15:28 | |
| 4 | Modular Monoliths | 14:57 | |
| 5 | Module Constraints | 15:52 | |
| 6 | Domain-Driven Design, Event Storming, Bounded Contexts | 15:21 | |
| 7 | Introducing Evently Sample Application | 06:11 | |
| 8 | Building the First Module | 35:37 | |
| 9 | Refactoring to Clean Architecture | 38:38 | |
| 10 | Events Module Review | 11:02 | |
| 11 | Cross-Cutting Concerns | 06:20 | |
| 12 | Dependency Injection | 14:48 | |
| 13 | Module Configuration | 05:13 | |
| 14 | Structured Logging With Serilog and Seq | 10:44 | |
| 15 | Exception Handling | 05:48 | |
| 16 | Validation With FluentValidation | 06:14 | |
| 17 | Distributed Caching With Redis | 09:31 | |
| 18 | Health Checks | 06:23 | |
| 19 | Automatically Registering Endpoints | 08:19 | |
| 20 | Module Communication Patterns | 09:07 | |
| 21 | Publishing Domain Events | 07:04 | |
| 22 | Introducing the Users Module | 07:30 | |
| 23 | Scaffolding the Ticketing Module | 04:03 | |
| 24 | Synchronous Communication | 17:50 | |
| 25 | Duplicating Data Between Modules | 10:07 | |
| 26 | Asynchronous Communication | 17:24 | |
| 27 | Eventual Consistency: Introduction | 09:26 | |
| 28 | Authentication & Authorization | 03:34 | |
| 29 | Keycloak Identity Provider Setup | 18:59 | |
| 30 | Token Based Authentication | 14:40 | |
| 31 | User Registration With KeyCloak | 22:23 | |
| 32 | RBAC Authorization | 23:57 | |
| 33 | 2 Short Asks | 01:14 | |
| 34 | Architecture Enforcement | 05:51 | |
| 35 | Modular Architecture | 10:04 | |
| 36 | Architecture Testing | 19:31 | |
| 37 | Reliable Messaging | 04:15 | |
| 38 | Outbox Pattern | 31:57 | |
| 39 | Outbox: Idempotent Consumers | 21:22 | |
| 40 | Inbox Pattern | 12:57 | |
| 41 | Event-Driven Architecture | 11:50 | |
| 42 | Event Notifications | 05:30 | |
| 43 | Event-Carried State Transfer | 05:49 | |
| 44 | Materialized Views and CQRS | 11:16 | |
| 45 | Saga Pattern, Orchestration | 25:09 | |
| 46 | Testing Modular Monoliths | 07:14 | |
| 47 | Unit Testing | 14:58 | |
| 48 | Integration Testing | 30:32 | |
| 49 | System Integration Testing | 13:50 | |
| 50 | Automated Testing in CI/CD Pipelines | 07:36 | |
| 51 | Microservices Benefits, Extracting Modules | 06:28 | |
| 52 | Distributed Tracing, OpenTelemetry | 17:07 | |
| 53 | Distributed Messaging With RabbitMQ | 10:54 | |
| 54 | API Gateways, Introducing YARP | 19:03 | |
| 55 | Extracting Modules to Microservices | 30:47 | |
| 56 | A Note From Me | 00:57 | |
| 57 | Introduction, Document Databases | 09:22 | |
| 58 | Implementing CQRS With MongoDB | 31:01 | |
| 59 | A Small Ask From Me | 01:15 |
Unlock unlimited learning
Get instant access to all 58 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscription