Diagram MakerOverview
🗂️

Overview

What the Diagram Maker is and how it works

რა არის დიაგრამის შემქმნელი?

Diagram Maker არის ტექსტური პირველი არქიტექტურის დიაგრამების ინსტრუმენტი, რომელიც აგებულია Datro DSL-ზე — სტრუქტურირებული, დადასტურებული და კანონიკურად ფორმატირებული ენა პროგრამული სისტემების მონაცემების სახით აღწერისთვის და არა სურათებით.

ტილოზე ყუთების გადატანის ნაცვლად, თქვენ წერთ .dtro ფაილს. ხელსაწყოების ჯაჭვი აანალიზებს მას, ამოწმებს არქიტექტურულ წესებს, ახორციელებს WCAG კონტრასტის კოეფიციენტებს და აწვდის მას SVG, PNG ან ინტერაქტიული JSON - ყველაფერი ჭეშმარიტების ერთი წყაროდან.

გახსენით დიაგრამის შემქმნელი

დაწერეთ, დაადასტურეთ და გამოიტანეთ თქვენი პირველი დიაგრამა წუთებში.

რატომ Datro მეტი Mermaid ან draw.io?

  • აკრეფილი კვანძები — 23 სემანტიკური ტიპი (service, database, gateway, queue, …) ავტომატურად აწარმოებს თანმიმდევრულ, ფორმის სწორი დიაგრამებს.
  • აკრეფილი კიდეები — 21 სემანტიკური ტიპი (http, query, publish, grpc,…) ფერების კოდირება და სტილი თქვენი კავშირების მექანიკური გადაფარვის გარეშე.
  • არქიტექტურული შეზღუდვები — ჩაწერეთ წესები, როგორიცაა database !-> external და ვალიდატორი ახორციელებს მათ გაანალიზების დროს და არა განხილვის დროს.
  • კანონიკური ფორმატირიdatro fmt გადაწერს ყველა ფაილს დეტერმინისტულ ფორმატში; diff აჩვენებს რეალურ ცვლილებებს და არა ხმაურის რეფორმირებას.
  • იმპორტი და შედგენა — გაყავით დიდი დიაგრამები ფაილებში import-ის გამოყენებით, სახელთა სივრცის ალიასინგი და გამოაჩინეთ თეთრი სიები.
  • WCAG 2.1 ხელმისაწვდომობა — კონტრასტის კოეფიციენტები ავტომატურად შემოწმდება თქვენი თემების პალიტრასთან; W602 ირთვება, როცა AA-ს ქვემოთ დაეცემა.
  • მანქანით წაკითხვადი JSON IR — ყოველი დიაგრამა ახორციელებს უდანაკარგო JSON IR მოხმარებას ნებისმიერი ხელსაწყოს ჯაჭვის, CI სისტემის ან მორგებული რენდერის მიერ.

როგორ მუშაობს ხელსაწყოების ჯაჭვი

ყოველი .dtro ფაილი გადის ოთხ ეტაპს, სანამ ის გახდება დიაგრამა:

1 · გაანალიზება2 · დადასტურება3 · ექსპორტი4 · რენდერი
  • Parse — რეკურსიული წარმოშობის ლექსერი + პარსერი გარდაქმნის თქვენს საწყის ტექსტს DatroIR ობიექტად. არასოდეს ისვრის; ყველა პრობლემა ბრუნდება როგორც Diagnostic[] ხაზის/სვეტის ზუსტი მდებარეობით.
  • გადამოწმება — 4 პასი: სტრუქტურული მთლიანობა → სემანტიკური შეზღუდვის შემოწმება → ინფორმაციის მინიშნებები → WCAG 2.1 კონტრასტი და ეტიკეტის სიგრძის ხელმისაწვდომობა.
  • ექსპორტი — დადასტურებული IR გარდაიქმნება DOT-ში (Graphviz), Cytoscape.js JSON-ში ან უზარმაზარ JSON IR-ში.
  • რენდერი — DOT გამომავალი გადაეცემა Graphviz-ს SVG ან PNG პიქსელებით სრულყოფილი გამოსავლის მისაღებად.

სრული მაგალითი

ეს .dtro ფაილი განსაზღვრავს გადახდის სერვისს ჯგუფებით, აკრეფილი კვანძებით, სემანტიკური კიდეებით, შეზღუდვის წესით, განლაგების მინიშნებებით და WCAG-ით შემოწმებული ფერის თემით - ყველაფერი ერთ ფაილში:

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

სცადე ახლავე

ჩასვით ზემოთ მოცემული მაგალითი Diagram Maker-ის რედაქტორში და დააწკაპუნეთ Validate-ში - ნახავთ აკრეფილ დიაგნოსტიკას ხაზების ნომრებით, შემდეგ გადაიყვანეთ SVG-ზე ერთი დაწკაპუნებით.

მახასიათებლების შეჯამება

23 ტიპის კვანძი21 კიდეების სახეობაWCAG 2.1 AA/AAAJSON Schema Draft-07SVG · PNG · DOT · Cytoscapeიმპორტი / შედგენა

გააგრძელეთ Quick Start-ზე თქვენი პირველი დიაგრამის დასაწერად, ან გადადით პირდაპირ Language Reference-ზე სრული სინტაქსისთვის.

Schema v1 · Updated September 2026