Diagram MakerQuick Start

Quick Start

Build your first diagram in six steps

Mulai Cepat

Bangun diagram arsitektur tervalidasi pertama Anda dalam enam langkah. Setiap langkah memperkenalkan satu konsep Datro baru. Pada akhirnya Anda akan memiliki diagram yang lengkap, ditata, dan diperiksa batasannya yang siap diekspor sebagai SVG.

Buka Pembuat Diagram

Ikuti di editor langsung — tempel setiap cuplikan dan klik Validasi.

Langkah 1 — Tulis node dan tepi pertama Anda

Setiap file .dtro dimulai dengan header ajaib. Setelah itu, deklarasikan node (entitas) dan tepi (hubungan). Rekatkan ini ke 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 }
ℹ️

Diperlukan tajuk ajaib

Baris #!DATRO 1.0 pada baris 1 wajib diisi. Parser mengembalikan E100 jika tidak ada.

Langkah 2 — Tambahkan `attrs` untuk metadata yang lebih kaya

Blok attrs menyimpan metadata nilai kunci yang berubah-ubah. Nilai dapat berupa string, angka, boolean, atau array. Atribut umum adalah tech, owner, deprecated, dan sla.

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

Atribut diteruskan ke JSON IR dan muncul sebagai keterangan alat dalam SVG yang dirender — berguna untuk metadata panggilan dan SLA.

Langkah 3 — Tambahkan metadata tepi

Tepian memiliki jenis (tipe hubungan semantik), label opsional, bobot (lalu lintas relatif), dan tanda async. Tepi asinkron ditampilkan sebagai garis putus-putus.

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"
YesTipe hubungan semantik
labelstringNoTeks pendek ditampilkan di garis tepi
weightnumberNoBobot lalu lintas relatif — tepi yang lebih berat membuat lebih tebal
asyncbooleanNoJika benar, tepi ditampilkan sebagai garis putus-putus (pola api-dan-lupakan)

Langkah 4 — Kelompokkan node ke dalam cluster

Gunakan blok group untuk mengelompokkan node terkait. Grup dirender sebagai kotak subgraf berlabel di SVG. Sebuah node hanya dapat dimiliki oleh satu grup.

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" }
💡

Grup vs. node.grup

Anda juga dapat menetapkan grup secara langsung pada node dengan group: data_tier. Kedua gaya tersebut valid; daftar members blok group diutamakan.

Langkah 5 — Tambahkan batasan arsitektur

Batasan adalah aturan arsitektur yang diperiksa mesin. Validator mengevaluasinya berdasarkan IR dan mengembalikan kesalahan E501 ketika aturan dilanggar.

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

Aturan database !-> external berarti: tidak ada node bertipe database yang boleh memiliki tepi terarah ke node mana pun bertipe external. Ini memblokir DB langsung yang tidak disengaja → panggilan API pihak ketiga.

Langkah 6 — Tambahkan petunjuk tata letak dan tema

Kontrol bagaimana diagram disusun dengan blok layout dan tentukan palet warna dengan blok theme. Pemeriksaan aksesibilitas mengaktifkan W602 jika ada warna yang berada di bawah kontras WCAG AA.

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 }
}
💡

Kontras WCAG otomatis

Eksportir DOT secara otomatis memilih warna font hitam atau putih untuk setiap pengisian node menggunakan rumus pencahayaan relatif WCAG 2.1 — tidak diperlukan konfigurasi apa pun.

Langkah selanjutnya

Buka Pembuat Diagram

Diagram Anda siap dirender — klik Render → SVG di toolbar editor.

Schema v1 · Updated September 2026