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