Diagram MakerQuick Start

Quick Start

Build your first diagram in six steps

Vinnige start

Maak je eerste gevalideerde architectuurdiagram in zes stappen. Elke stap introduceert een nieuw datro-concept. Uiteindelijk heb je een compleet, ontworpen en beperkt gecontroleerd diagram dat je als SVG kunt exporteren.

Maak de diagrammaker open

Volg de instructies in de live-editor: voeg elke snippet toe en klik op Valid“.

Stap 1 Schrijf je eerste knopen en randen op

Ieder .dtro-File begint met een magische header. Vervolgens verklaar je *knopen* (entiteiten) en *kant* (relaties)). Voeg dit in de editor:

arch.dtro
#!DATRO 1.0

node frontend { type: web      label: "React App" }
node backend  { type: service  label: "NestJS API" }
node db       { type: database label: "PostgreSQL" }

edge frontend -> backend { kind: http }
edge backend  -> db      { kind: query }
ℹ️

Magische header nodig

De lijn #!DATRO 1.0 in lijn 1 is verplicht. De parser geeft E100 terug als ze er niet zijn.

Stap 2 Voeg `attrs` om meer metadata te verkrijgen

Het blok attrs bevat elk metadata van de sleutelwaarde. Waarden kunnen tekens, getallen, boole waarden of arrays zijn. De gemeenschappelijke attributen zijn: tech, owner, deprecated en sla.

DATRO
node backend {
  type:  service
  label: "NestJS API"
  attrs {
    tech:  "nestjs"
    owner: "platform-team"
  }
}

Attributen worden doorgestuurd naar de JSON IR en weergegeven als tooltips in het gerendereerde SVG nuttig voor gereedheids- en SLA-metadata.

Stap 3 Edge metadata toevoegen

Kanten hebben een type (semantisch relatietype), een optioneel label, een gewicht (relatieve dataverkeer) en een asynchrone vlag. Asynchrone randen worden als gestreepte lijnen weergegeven.

DATRO
edge backend -> stripe {
  kind:  http
  label: "charge API"
  async: false
}
FieldTypeRequiredDescription
kindEdgeKind
"http""grpc""query""publish""subscribe""read""write""deploys""monitors""depends""…21 total"
YesSemantisch relatietype
labelstringNoKorte tekst die wordt weergegeven op de randlijn
weightnumberNoRelatief verkeersgewicht zwaarder kanten worden dikker
asyncbooleanNoAls true, is de rand gestript (brand-en-vergeten-patroon)).

Stap 4 Groepen knopen in clusters

Gebruik een groep-blok om verwante knopen te groeperen. Groepen worden in de SVG weergegeven als aangegeven subdiagrammatische velden. Een knoop kan slechts tot een groep behoren.

DATRO
group data_tier {
  label:   "Data Layer"
  members: [db, redis_cache]
}

node redis_cache { type: cache label: "Redis" }

edge backend -> redis_cache { kind: read  label: "session" }
💡

Groepen vs. node.groep

U kunt met group: data_tier ook direct aan de knoop een groep toe te wijzen. Beide stijlen zijn geldig; de lijst members des Blocks group is van voorkeur.

Stap 5 Voeg een architectonische beperking toe

Beperkingen zijn machine gecontroleerde architectonische regels. De validator beoordeelt deze op basis van de IR en geeft E501-Fouten terug wanneer een regel wordt geschonden.

DATRO
constraint {
  id:       "no-db-external"
  rule:     "database !-> external"
  message:  "Databases must not connect to external services"
  severity: error
}

De regel database!-> external betekent: geen knopen van het type database mag een gericht rand hebben op een knop van het type external hebben. Dit blokkeert toevallige directe DB → API-oproepen van derde partijen.

Stap 6 Layoutwijze en een thema toevoegen

Beheer de volgorde van het diagram met een layout-Block en definieer een kleurpalet met een theme-Bloek. De toegankelijkheidscontrole oplost W602 uit wanneer een kleur onder het WCAG AA-contrast valt.

DATRO
layout { direction: LR  algo: dagre  node_sep: 60  rank_sep: 120 }

theme {
  palette {
    service:    "#D0E8FF"
    database:   "#FFE8C0"
    web:        "#E8D0FF"
    cache:      "#C0FFE8"
    background: "#FFFFFF"
  }
  accessibility { min_contrast: AA }
}
💡

Het WCAG-contrast is automatisch

De DOT-exporteur selecteert automatisch een zwarte of witte letterkleur voor elke knopfilling, met behulp van de relatieve luminaire formule van WCAG 2.1, geen configuratie nodig.

Volgende stappen

  • Lees Language Reference voor de volledige syntax van elk bloktype.
  • Gebruik CLI Reference voor het valideren, formateren en exporteren via de command-line.
  • Leer hoe je documenten kunt maken met de Remark- of Markdown-it-plugin.
Maak de diagrammaker open

Je grafiek is klaar om te worden weergegeven Klik in de editor-symboolbalk op weergeven → SVG.

Schema v1 · Updated September 2026