.NET 8 Microservices: DDD, CQRS, Vertical/Clean Architecture

via Udemy

Go to Course: https://www.udemy.com/course/microservices-architecture-and-implementation-on-dotnet/

Introduction

Certainly! Here's a comprehensive review and recommendation for the Coursera course based on the details provided: --- **Course Review and Recommendation: Building Microservices with .NET 8, Docker, and Cloud-Native Architectures** Are you looking to master modern microservices architecture on the .NET platform? This course is a comprehensive, hands-on program designed for developers eager to build scalable, maintainable, and enterprise-grade microservices using the latest technologies and best practices in .NET 8. **What You Will Learn:** - **Microservices Development:** Build a complete e-commerce system focusing on Product, Basket, Discount, and Ordering microservices, leveraging ASP.NET Core Web API, gRPC, and NoSQL/SQL databases. - **Advanced Architectural Patterns:** Gain expertise in Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), and Clean Architecture. The course emphasizes loosely coupled, dependency-inverted architectures and best practices such as SOLID. - **Microservices Communication:** Understand and implement inter-service communication via REST, gRPC, RabbitMQ, and MassTransit, including event-driven models like publish/subscribe. - **Containerization & Orchestration:** Dive into Docker and Docker Compose for multi-container deployment, enabling seamless development, testing, and production environments. - **API Gateway & Cloud Readiness:** Implement Yarp API Gateway for routing, load-balancing, and rate-limiting in cloud-native environments. - **Data Management:** Work with a variety of database technologies—PostgreSQL, Redis, SQLite, and SQL Server—incorporating Entity Framework Core, Marten library, and migrations. - **Extensive Practical Coding:** With over 95% of lessons involving coding along, you'll actively develop features applying best practices for code quality, testing, and architecture. **Course Highlights:** - Step-by-step microservices development with extensive explanations. - Use of cutting-edge C# 12 and .NET 8 features, like minimal APIs and the latest language improvements. - Integration of cross-cutting concerns such as logging, exception handling, health checks, and validation. - Deployment and orchestration using Docker, with environment management and microservices configuration. - Practical demonstration of layered architecture, DDD, and Hexagonal/ Clean Architecture models. **Who Is This Course For?** This course is ideal for intermediate to advanced developers who have a foundational understanding of C# and ASP.NET Core but want to deepen their expertise in microservices architecture, cloud-native development, and modern best practices. If you learn best by doing and enjoy building real-world projects, this course will be a perfect fit. **Tools Needed:** - Visual Studio (recommended) - Docker Desktop - Basic knowledge of databases and REST APIs **Final Verdict:** Highly recommended for developers aiming to leverage the full potential of .NET 8 in building modern, scalable microservices. The extensive hands-on approach ensures you not only understand the theory but also gain practical experience that can be directly applied to enterprise projects. --- **In summary:** This course offers a detailed, practical guide to developing robust microservices on .NET, with a focus on best practices, architecture, and cloud-native deployment. Whether you're an aspiring architect or a developer looking to upgrade your skills, this program is a valuable investment in your professional growth. ***Enroll now to start building scalable, modern microservices with confidence!***

Overview

This course comes from a live github aspnetrun microservices repository which verified from community with 3000+ stars and 1600+ forks.You will learn how to build Microservices on.Net platforms which used Asp.Net Web API, Docker, RabbitMQ, MassTransit, Grpc, Yarp API Gateway, PostgreSQL, Redis, SQLite, SqlServer, Marten, Entity Framework Core, CQRS, MediatR, DDD, Vertical and Clean Architecture implementation using latest codes and best practices of.NET 8 on cloud-native environments.You will develop e-commerce modules over Product, Basket, Discount and Ordering microservices with NoSQL (PostgreSQL DocumentDB, Redis) and Relational databases (SQLite, Sql Server) with communicating over RabbitMQ Event Driven Communication and using Yarp API Gateway. You can find Microservices Architecture and Step by Step Implementation on.NET which step by step developing this course with extensive explanations and details.Along with this you'll develop following microservices and items:Catalog microservice which includes;ASP.NET Core Minimal APIs and latest features of.NET 8 and C# 12Vertical Slice Architecture implementation with Feature foldersCQRS implementation using MediatR libraryCQRS Validation Pipeline Behaviours with MediatR and FluentValidationMarten library for.NET Transactional Document DB on PostgreSQLCarter library for Minimal API endpoint definitionCross-cutting concerns Logging, global Exception Handling and Health ChecksDockerfile and docker-compose file for running Multi-container in Docker environmentBasket microservice which includes;ASP.NET 8 Web API application, Following REST API principles, CRUD operations Redis as a Distributed Cache over basketdb Implements Proxy, Decorator and Cache-aside Design PatternsConsume Discount gRPC Service for inter-service sync communication to calculate product final pricePublish BasketCheckout Queue with using MassTransit and RabbitMQDiscount microservice which includes;ASP.NET gRPC Server applicationBuild a Highly Performant inter-service gRPC Communication with Basket MicroserviceExposing gRPC Services with creating Protobuf messagesEntity Framework Core ORM - SQLite Data Provider and MigrationsSQLite database connection and containerizationMicroservices CommunicationSync inter-service gRPC CommunicationAsync Microservices Communication with RabbitMQ Message-Broker ServiceUsing RabbitMQ Publish/Subscribe Topic Exchange ModelUsing MassTransit for abstraction over RabbitMQ Message-Broker systemPublishing BasketCheckout event queue from Basket microservices and Subscribing this event from Ordering microservicesCreate RabbitMQ EventBus.Messages library and add references MicroservicesOrdering MicroserviceImplementing DDD, CQRS, and Clean Architecture with using Best PracticesDeveloping CQRS with using MediatR, FluentValidation and Mapster packagesUse Domain Events & Integration EventsEntity Framework Core Code-First Approach, Migrations, DDD Entity ConfigurationsConsuming RabbitMQ BasketCheckout event queue with using MassTransit-RabbitMQ ConfigurationSqlServer database connection and containerizationUsing Entity Framework Core ORM and auto migrate to SqlServer when application startupYarp API Gateway MicroserviceImplement API Gateways with Yarp Reverse Proxy applying Gateway Routing PatternYarp Reverse Proxy Configuration; Route, Cluster, Path, Transform, DestinationsRate Limiting with FixedWindowLimiter on Yarp Reverse Proxy ConfigurationSample microservices/containers to reroute through the API GatewaysWebUI ShoppingApp MicroserviceASP.NET Core Web Application with Bootstrap 4 and Razor templateConsume YarpApiGateway APIs using Refit Library with Generated HttpClientFactoryASPNET Core Razor Tools - View Components, partial Views, Tag Helpers, Model Bindings and Validations, Razor Sections etc.Docker Compose establishment with all microservices on docker;Containerization of microservicesOrchestrating of microservices and backing services (databases, distributed caches, message brokers..)Override Environment variablesOn top of all these, you'll learn how to write quality code, not just how to build microservices. In this course you will see the demonstrating a layered application architecture with DDD best practices. Implements NLayer Hexagonal architecture (Core, Application, Infrastructure and Presentation Layers) and Domain Driven Design (Entities, Repositories, Domain/Application Services, DTO's...) and aimed to be a Clean Architecture, with applying SOLID principles in order to use for a project template. Also implements best practices like loosely-coupled, dependency-inverted architecture and using design patterns such as Dependency Injection, logging, validation, exception handling and so on.Is this course for you?This course is very practical, about 95%+ of the lessons will involve you coding along with me on this project. If you are the type of person who gets the most out of learning by doing, then this course is definitely for you. Tools you need for this courseIn this course all the lessons are demonstrated using Visual Studio as a code editor. You can of course use any code editor you like and any Operating system you like as long as it's Windows or Mac. Also using Docker Desktop in order to use different database providers.

Skills

Reviews