Nesse projeto iremos usar diversos conceitos do DDD para desenhar a solução, vale lembrar que não iremos usar todos os conceitos, apenas aqueles necessários para o desenvolvimento que temos nesse desafio
Context Map (Mapa de Contextos)
O context map é uma ferramenta do DDD para identificar os contextos de um domínio e a relação entre eles, vamos usar esse conceito de forma bem simplificada para identificar nossos microserviços e a relação entre eles.
Nosso sistema é um sistema aonde um colaborador de uma consultoria faz uma requisição de feedback para um avaliador externo a consultoria, ou seja, o cliente da consultoria. Nesse caso identificamos que temos tanto a solicitação de feedback voltada a um avaliador, quanto a resposta de feedback voltada a uma solicitação. Dessa forma já podemos identificar 4 contextos:
Gestão de Usuários
Autenticação
Solicitação de Feedback
Resposta de Feedback
Arquitetura Contextual
Vamos observar como fica a arquitetura de cada contexto em suas camadas
Arquitetura em microserviços
Abaixo observamos em mais detalhes a decomposição final em microserviços