Bienvenido a la Parte 2 del curso de Clean ArchitecturePara quienes ya completaron el curso: “ASP.NET Core y Clean Architecture con Domain Driven Design” de .NET University.Este es uno de los cursos más esperados por nuestra comunidad. En esta segunda parte, continuamos donde lo dejamos en el primer nivel, abordando funcionalidades avanzadas que toda aplicación empresarial desarrollada con ASP.NET Core debe incorporar.Aplicaremos las mejores prácticas de Clean Architecture y Domain Driven Design en escenarios reales y complejos, orientados a soluciones profesionales. Algunos de los temas que exploraremos:Arquitectura de Authentication y Authorization siguiendo principios de Clean ArchitectureDesarrollo de modelos personalizados de Usuarios, Roles y Permisos sin usar Identity CoreImplementación de Pruebas Unitarias y de Integración en un entorno limpio y desacopladoConfiguración de un entorno de desarrollo con Docker ComposeAplicación del Outbox Pattern para procesamiento en backgroundPaginación avanzada utilizando clases genéricas reutilizablesDiseño de Strong Identity Types para una mayor solidez del dominioUso de Minimal APIs para simplificar controladores sin sacrificar arquitecturaAdemás, como contenido adicional, tendrás acceso a un bonus exclusivo:Envío de correos electrónicos usando configuraciones de Gmail en ASP.NET CoreGeneración de reportes PDF profesionalesImplementación de Serilog para un sistema de logging moderno y eficazEste curso está diseñado para desarrolladores con experiencia y es la continuación
What you'll learn
implement advanced authentication and authorization based on Clean Architecture principles
develop custom user models, roles, and permissions without relying on Identity Core
execute unit and integration tests in a clean and decoupled environment
configure development environments using Docker Compose
use the Outbox Pattern for background processing
design and implement advanced pagination with reusable generic classes
create Strong Identity Types for domain robustness
simplify APIs using Minimal APIs without sacrificing architecture