In this project, we will use several DDD concepts to design the solution. It's worth noting that we will not use all concepts, only those necessary for the development required in this challenge.
Context Map
The context map is a DDD tool for identifying the contexts of a domain and the relationships between them. We will use this concept in a very simplified way to identify our microservices and their relationships.
Our system is one where a consultancy employee requests feedback from an external evaluator, i.e., the consultancy's client. In this case, we identified that we have both the feedback request directed to an evaluator and the feedback response directed to a request. Thus, we can already identify 4 contexts:
User Management
Authentication
Feedback Request
Feedback Response
Contextual Architecture
Let's observe the architecture of each context in its layers.
Microservices Architecture
Below, we observe the final decomposition into microservices in more detail.