Domain-driven design (DDD) is an intuitive analysis to gradually explore a business domain and build software that supports it. It ensures a team has the right focus, and is able to take non-technical stakeholders along with them as a project progresses. It consists of strategic DDD and tactical DDD patterns to apply. Here we only focus on Strategic DDD, which elaborates:
Strategic DDD is universally applicable to capture knowledge of how a domain works. Tactical DDD might be used in further translation to code, but is optional.
Bounded contexts on a context maps depict a breakdown into subdomains. In our elaboration there are 3 types of subdomain:
In this section we will look at each of the participating platforms in the Federated Hospitality Exchange project, and provide a description of their domain model as it currently exists. We will then refine this and elaborate further until we hopefully find some unified models that are the building blocks for future federated platform releases.
Here is the diagram that captures the Hospitality Exchange core domain model of the current WarmShowers platform:
We will further refine this model as we go along the design process. See the WarmShowers domain elaboration for more details.