Diagram MakerOverview
🗂️

Overview

What the Diagram Maker is and how it works

Wat is de diagrammaker?

De Diagram Maker is een text-first architectural diagramming tool gebaseerd op Datro DSL een gestructureerde, gevalideerde en canonisch geformatteerde taal om software systemen te beschrijven als data, niet als beelden.

In plaats van dozen op een scherm te trekken, schrijf een .dtro-Dossier. De toolchain analyseert het, valideert architectuurregels, dwingt WCAG-contrastverhoudingen op en rendert het in SVG, PNG of interactief JSON alles uit één enkele bron van waarheid.

Maak de diagrammaker open

Schrijf, valideer en render je eerste diagram in een paar minuten.

Waarom Datro in plaats van Mermaid of draw.io?

  • Tipeerde knopen 23 semantieke soorten (service, database, gateway, queue, …) het automatisch produceren van consistente, juiste diagrammen.
  • Getypeerde kanten 21 semantieke soorten (http, query, publish, grpc, …) codeer en vorm je verbindingen zonder handmatige overschrijvingen.
  • Architectonische beperkingen Schrijf regels als database!-> external En de validator dwingt ze op het moment van analyse, niet het moment van controle.
  • Canonieke opleidersdatro fmt schrijft elk bestand om in een deterministisch formaat; diff toont echte veranderingen, geen herformattingsgeluid.
  • Importeren en maken Deel grote diagrammen met behulp van import, Namespace aliasing en het aanbieden van Whitelists op meerdere bestanden.
  • WCAG 2.1-Barriervrijheid Contrastverhoudingen worden automatisch gecontroleerd op basis van uw thema-palet; W602 wordt uitgelokt als je onder AA valt.
  • Masjienleesbare JSON IR elk diagram exporteert een verliesvrije JSON IR die gebruikt kan worden door elke toolchain, elk CI-systeem of elke custom renderer.

Hoe de toolchain werkt

Ieder .dtro-Een bestand gaat door vier fasen voordat het een diagram wordt:

1 · Analyseren2 · Valideren3 · Uitvoeren4 · Renderen
  • Parsen van de recursieve Lexer + Parser DatroIR-Voorwerp. Het werpt nooit; alle problemen worden als Diagnostic[] met nauwkeurige lijn/kolomposities.
  • Valideren 4 doorgangen: structurele integriteit → semantieke beperkingsproef → informatieverwijzingen → WCAG 2.1-contrast en toegankelijkheid van de etiketlengte.
  • Export het gevalideerde IR wordt omgezet in DOT (Graphviz), Cytoscape.js JSON of verliesloos JSON IR.
  • Render de DOT-uitgave wordt overgedragen aan Graphviz om een pixel-echte SVG- of PNG-uitgave te produceren.

Een volledig voorbeeld

Deze .dtro-File definieert een betaaldienst met groepen, getypeerde nodes, semantische kanten, een beperking regel, layout-instructies en een WCAG-gecontroleerd kleurthema alles in één file:

payment-service.dtro
#!DATRO 1.0

meta {
  title:   "Payment Service"
  version: "2.0.0"
  owner:   "payments-team"
  sla:     "99.95%"
}

group data {
  label:   "Data Layer"
  members: [payments_db, fraud_cache]
}

node api_gw      { type: gateway  label: "API Gateway" }
node payment_svc { type: service  label: "Payment Service"  attrs { tech: "nestjs" } }
node payments_db { type: database label: "Payments DB"      attrs { tech: "postgres" } }
node fraud_cache { type: cache    label: "Fraud Cache"      attrs { tech: "redis" } }
node stripe      { type: external label: "Stripe" }

edge api_gw      -> payment_svc  { kind: http  label: "POST /charge" }
edge payment_svc -> payments_db  { kind: query }
edge payment_svc -> fraud_cache  { kind: read }
edge payment_svc -> stripe       { kind: http  label: "charge API" }

constraint {
  id:       "no-db-external"
  rule:     "database !-> external"
  message:  "Databases must not call external APIs"
  severity: error
}

layout { direction: LR  algo: dagre }

theme {
  palette { gateway: "#FFD0D0"  service: "#D0E8FF"  database: "#FFE8C0"  cache: "#C0FFE8" }
  accessibility { min_contrast: AA }
}
💡

Probeer het nu eens.

Voeg het voorbeeld hierboven in de diagrammaker-editor en klik op Valid“. Je ziet een ingegeven diagnose met lijnnummers en je kunt deze dan met één klik in SVG weergeven.

Functioneel samenvatting

23 Knottypen21 BuitensoortenWCAG 2.1 AA/AAAJSON-schemaontwerp-07SVG · PNG · DOT · cytoscapeImporteren / schrijven

Ga door met Quick Start om je eerste grafiek te schrijven, of spring direct naar Language Reference om de volledige syntax te krijgen.

Schema v1 · Updated September 2026