DesignPatterns es una colección de proyectos que muestran como manejar los siguientes conceptos:
- Clean Arquitecture usando las siguientes tecnologias:
- .NET 5
- ASP.NET Core 5
- Entity Framework Core 5
- Angular 9
- MediatR
- AutoMapper
- FluentValidation
- NUnit, FluentAssertions, Moq & Respawn
- Identity Server
- Code flow Autentication
- API Resources
- API Scopes
- Identity Resources
- Client configuration
- Identity Framework and Role based Authorization
- OpenID Connector
- Cliente asp.net core
- Cliente Angular (o cualquier cliente Javascript)
Los proyectos son los siguientes:
- DesignPatterns.IdentityServer. Solución que implementa Identity Server 4, lo principal se puede aprender en este quickstart. Está configurada para tener 2 clientes. Angular y WebApp.
- DesignPatterns.Api. REST API que está protegida por IdentityServer. Sigue todos los principios de Clean Architecture siendo usada la plantilla de Jason Taylor.
- DesignPatterns.Angular. Aplicación Angular hosteada en asp.net core. Por medio de OpenID en Javascript realiza los intercambios de autenticación con IdentityServer. Tiene un TODO List de ejemplo que API gestiona.
- DesignPatterns.Web. Realiza lo mismo que Angular, pero por medio de una aplicación de Razor Pages. (En desarrollo aun...)
Para empezar con el proyecto es necesario clonar los 4 repositorios mencionados arriba y ejecutarlos individualmente con dotnet run
. También pueden ejecutarse desde Visual Studio, pero es importante que no se haga con IIS Express (los puertos son importantes).
Project | HTTP | HTTPS |
---|---|---|
Identity | 50000 | 50001 |
API | 50002 | 50003 |
Angular | 50004 | 50005 |
Web | 50006 | 50007 |