Domain Stories (PlantUML)
This page demonstrates a Domain Story rendered via PlantUML using the DomainStory-PlantUML macro library:
- Project: johthor/DomainStory-PlantUML
Domain Storytelling can be a useful bridge between conceptual domain models and more technical UML design models.
DomainStory-PlantUML syntax (reference)
The official macro-based notation can be used in two ways:
- portable (works with public
kroki.io):!include <DomainStory/domainStory> - local include (works with local Docker Kroki include path):
!include domainStory.puml
@startuml
!include <DomainStory/domainStory>
!$Story_Layout = "left-to-right"
Person(Customer, "Customer")
System(TicketMachine, "Ticket Machine")
activity(1, Customer, selects, Info: Movie, at, TicketMachine)
@enduml
Example: Story flow (rendered in this test site)
This uses the actual DomainStory-PlantUML macros (not a plain sequence diagram), so the result visually matches the Domain Story style with icons and activity notation.
Note: this local include requires Kroki with include path support (e.g. the provided Docker setup with
docker-compose.kroki.yml).
Why this matters
- Domain Stories are often easier to validate with non-technical stakeholders.
- Work objects (ticket, payment, request, etc.) become explicit in the model.
- The flow can be validated early, before committing to technical class/method design details.
Example: Reis boeken (as-is)
Onderstaande EGN-export is opgenomen als visuele referentie:
En hieronder een PlantUML-achtige variant in deze testsite, zodat je dezelfde flow in text-as-code kunt onderhouden en reviewen: