Skip to content

mrayone/asp.net-boilerplate

Repository files navigation

Projeto KnowLedge.IO

O projeto Knowledge.IO é um sistema web de identificação e autorização desenvolvido na plataforma .NET Core. Neste projeto foi utilizado conceitos arquiteturais de modelagem de domínio (DDD), separação de comandos e consultas (CQRS) e implementações voltadas a testes com os fundamentos do TDD.

Metodologia

Realizei estudos sobre as arquiteturas citadas anteriormente e então desenvolvi uma aplicação capaz de fornecer uma API, para identificar usuários e aplicar políticas de autorização baseadas em permissões por perfil. Todo o módulo de identidade e acesso foi completamente isolado da aplicação web e customizado com IdentityServer, com o propósito de descartar a implementação do IdentityCore, porque para o contexto atual não se encaixava.

Tecnologias Implementadas

  • ASP.NET Core 2.2 (com .NET Core 2.2)
  • ASP.NET WebApi Core
  • Identity Server 4
  • Entity Framework Core 2.2
  • .NET Core DI Nativa
  • MediatR
  • FluentValidator
  • Angular 8
  • Elmah.IO
  • Swagger UI
  • RobbitMQ

Arquiteturas

  • Domain Driven Design (Camadas e Domain Model Pattern)
  • Test Driven Development
  • CQRS (abordagem simples)
  • Domain Events
  • Domain Notifications
  • Repository e Generic Repository
  • Unit Of Work
  • Event Sourcing

Links dos Apps

SPA - Angular API