ODS Graphviz
A TypeScript library for generating Graphviz visualizations from Open Domain Specification (ODS) maps. This package provides utilities to convert domain models into visual diagrams using Graphviz's DOT format and SVG rendering.
Features
- Context Map Visualization: Generate visual representations of bounded context relationships and patterns
- Consumable Map Visualization: Visualize service consumption patterns and relationships
- Relation Map Visualization: Draw entities and value objects as a UML class diagram with attribute compartments, UML arrows and cardinalities, plus PlantUML source export
- Flow Map Visualization: Draw how policies react to event consumables by issuing operations, and what those operations raise
- Multiple Output Formats: Export diagrams as DOT format or SVG
- Namespace Support: Organize nodes into hierarchical namespaces with visual clustering
- DDD Pattern Support: Directed and symmetric context relationships, upstream and downstream roles, implied edges, big-ball-of-mud contexts and team ownership
Installation
npm install @open-domain-specification/graphviz
Usage
The Library provides several functions to convert ODS maps into Graphviz diagrams:
- Context Map Visualization: Convert a context map into a visual diagram showing bounded context relationships.
- Consumable Map Visualization: Visualize service consumption patterns and API relationships.
- Relation Map Visualization: Create entity relationship diagrams with typed relationships.
- Flow Map Visualization: Show the event → policy → command flow of a bounded context.
See the specific examples in the next pages.