Quick Start
Build your first diagram in six steps
Жылдам бастау
Алғашқы расталған архитектуралық диаграмманы алты қадаммен жасаңыз. Әрбір қадам бір жаңа Datro тұжырымдамасын ұсынады. Соңында сізде SVG ретінде экспорттауға дайын толық, стильдендірілген, шектеулермен тексерілген диаграмма болады.
Тікелей өңдегіште орындаңыз — әрбір үзіндіні қойып, Тексеру түймесін басыңыз.
1-қадам — Алғашқы түйіндер мен жиектерді жазыңыз
Әрбір .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 }Сиқырлы тақырып қажет
1-жолдағы #!DATRO 1.0 жолы міндетті болып табылады. Талдаушы ол жоқ болса E100 қайтарады.
2-қадам — Байрақ метадеректер үшін `attrs` қосыңыз
attrs блогында ерікті кілт-мән метадеректері сақталады. Мәндер жолдар, сандар, логикалық мәндер немесе массивтер болуы мүмкін. Жалпы атрибуттар tech, owner, deprecated және sla болып табылады.
node backend {
type: service
label: "NestJS API"
attrs {
tech: "nestjs"
owner: "platform-team"
}
}Атрибуттар JSON IR арқылы өтеді және көрсетілген SVG-де кеңестер ретінде пайда болады — қоңырау кезінде және SLA метадеректері үшін пайдалы.
3-қадам — шеткі метадеректерді қосыңыз
Жиектерде түр (семантикалық қатынас түрі), қосымша белгі, салмақ (салыстырмалы трафик) және синхронды жалаушасы бар. Асинхронды жиектер үзік сызықтар түрінде көрсетіледі.
edge backend -> stripe {
kind: http
label: "charge API"
async: false
}| Field | Type | Required | Default | Description |
|---|---|---|---|---|
kind | EdgeKind "http""grpc""query""publish""subscribe""read""write""deploys""monitors""depends""…21 total" | Yes | unknown | Семантикалық қатынас түрі |
label | string | No | — | Қысқа мәтін жиек сызығында көрсетіледі |
weight | number | No | 1.0 | Салыстырмалы қозғалыс салмағы — ауыр шеттер қалыңырақ етеді |
async | boolean | No | false | Шындық болғанда, жиек штрихпен көрсетіледі (өрт және ұмыту үлгісі) |
4-қадам — Түйіндерді кластерлерге топтаңыз
Қатысты түйіндерді кластерлеу үшін топ блогын пайдаланыңыз. Топтар SVG файлында белгіленген ішкі граф жолақтары ретінде көрсетіледі. Түйін тек бір топқа жатады.
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" }Топтар және түйін.топ
Сондай-ақ, топты тікелей түйінде group: data_tier арқылы тағайындауға болады. Екі стиль де жарамды; group блогының members тізімі басымдыққа ие.
5-қадам — Архитектуралық шектеуді қосыңыз
Шектеулер – машинамен тексерілетін архитектуралық ережелер. Валидатор оларды IR бойынша бағалайды және ереже бұзылған кезде E501 қателерін қайтарады.
constraint {
id: "no-db-external"
rule: "database !-> external"
message: "Databases must not connect to external services"
severity: error
}database !-> external ережесі мынаны білдіреді: database типті түйіннің кез келген external түріндегі түйінге бағытталған жиегі болмауы керек. Бұл кездейсоқ тікелей ДҚ → үшінші тарап API қоңырауларын блоктайды.
6-қадам — Орналасу туралы кеңестер мен тақырыпты қосыңыз
Диаграмманың layout блогымен қалай орналасатынын басқарыңыз және theme блогымен түстер палитрасын анықтаңыз. Кез келген түс WCAG AA контрастынан төмен түссе, арнайы мүмкіндіктерді тексеру W602 іске қосылады.
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 }
}WCAG контрасты автоматты
DOT экспорттаушысы WCAG 2.1 салыстырмалы жарықтылық формуласын пайдаланып әрбір түйін толтыру үшін қара немесе ақ қаріп түсін автоматты түрде таңдайды — нөлдік конфигурация қажет.
Келесі қадамдар
- Әрбір блок түрінің толық синтаксисі үшін Language Reference оқыңыз.
- Тексеру, пішімдеу және пәрмен жолынан экспорттау үшін CLI Reference пайдаланыңыз.
- Ескертпе немесе markdown-it плагині арқылы embed diagrams in Markdown құжаттарды қалай жасау керектігін үйреніңіз.
Диаграммаңыз көрсетуге дайын — өңдеуші құралдар тақтасында Рендер → SVG түймешігін басыңыз.