Logo of Open Hospitality Network

We try to federate hospitality exchange.


Visit our:

* matrix and telegram rooms
to say hi!, chat and coordinate

* board
to get an overview of what's going on in the project

* source code
for development and technical discussions

* fediverse
account to follow for project updates

* weekly meeting
on Mondays at 7pm CEST (UTC+2)

Domain modeling

What is domain-driven design?

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:

  1. Bounded contexts: Concepts that belong together and their relationships.
  2. Ubiquitous language: Terminology to describe a bounded context for all stakeholders.
  3. Context maps: How bounded contexts are related to each other.

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:

More info:

Exploring current domain models

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.

Note: Diagrams are created by diagrams.net and design files (XML) are available in the /diagrams folder on Github.

WarmShowers domain

Here is the diagram that captures the Hospitality Exchange core domain model of the current WarmShowers platform:

WarmShowers Domain Model

We will further refine this model as we go along the design process. See the WarmShowers domain elaboration for more details.