Overview
What the Diagram Maker is and how it works
ما هو صانع الرسم البياني؟
إن Diagram Maker عبارة عن أداة رسم تخطيطي للهندسة المعمارية تعتمد على النص أولاً، وهي مبنية على Datro DSL — وهي لغة منظمة ومتحقق من صحتها ومنسقة بشكل قانوني لوصف أنظمة البرامج كبيانات، وليست صور.
بدلاً من سحب المربعات على اللوحة القماشية، يمكنك كتابة ملف .dtro. تقوم سلسلة الأدوات بتحليلها، والتحقق من صحة القواعد المعمارية، وفرض نسب تباين WCAG، وتحويلها إلى SVG، أو PNG، أو JSON التفاعلي - كل ذلك من مصدر واحد للحقيقة.
قم بكتابة الرسم التخطيطي الأول الخاص بك والتحقق من صحته وتقديمه في دقائق.
لماذا Datro over Mermaid أو draw.io؟
- العقد المكتوبة — 23 نوعًا دلاليًا (
service،database،gateway،queue، …) تنتج رسومًا تخطيطية متسقة وصحيحة الشكل تلقائيًا. - الحواف المكتوبة — 21 نوعًا من الدلالات (
http،query،publish،grpc، …) يمكنك ترميز الألوان وتصميم اتصالاتك دون تجاوزات يدوية. - القيود المعمارية — اكتب قواعد مثل
database !-> externalوسيقوم المدقق بفرضها في وقت التحليل، وليس وقت المراجعة. - المنسق الكنسي — يعيد
datro fmtكتابة كل ملف إلى تنسيق محدد؛ فرق يظهر تغييرات حقيقية، وليس إعادة تنسيق الضوضاء. - الاستيراد والإنشاء — تقسيم المخططات الكبيرة عبر الملفات باستخدام
import، والاسم المستعار لمساحة الاسم، وكشف القوائم البيضاء. - إمكانية الوصول إلى WCAG 2.1 — يتم التحقق من نسب التباين تلقائيًا مقابل لوحة السمات الخاصة بك؛
W602ينطلق عندما تنخفض إلى ما دون AA. - JSON IR القابل للقراءة آليًا — يقوم كل رسم تخطيطي بتصدير مستهلك JSON IR بدون فقدان البيانات بواسطة أي سلسلة أدوات أو نظام CI أو عارض مخصص.
كيف تعمل سلسلة الأدوات
يمر كل ملف .dtro عبر أربع مراحل قبل أن يصبح رسمًا تخطيطيًا:
- تحليل — يقوم المعجم اللغوي + المحلل اللغوي ذو الانحدار العودي بتحويل النص المصدر إلى كائن
DatroIR. لا يرمي أبدا. يتم إرجاع كافة المشاكل كـDiagnostic[]مع تحديد مواقع الأسطر/الأعمدة بدقة. - التحقق من الصحة — 4 تمريرات: السلامة الهيكلية ← التحقق من القيود الدلالية ← تلميحات المعلومات ← تباين WCAG 2.1 وإمكانية الوصول إلى طول الملصق.
- تصدير — يتم تحويل IR الذي تم التحقق من صحته إلى DOT (Graphviz)، أو Cytoscape.js JSON، أو JSON IR بدون فقدان البيانات.
- Render — يتم تمرير مخرجات DOT إلى Graphviz لإنتاج مخرجات بكسل مثالية بتنسيق SVG أو PNG.
مثال كامل
يعرّف هذا الملف .dtro خدمة الدفع بالمجموعات، والعقد المكتوبة، والحواف الدلالية، وقاعدة القيد، وتلميحات التخطيط، وموضوع الألوان الذي تم التحقق منه بواسطة WCAG - كل ذلك في ملف واحد:
#!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 بنقرة واحدة.
ملخص الميزة
تابع إلى Quick Start لكتابة الرسم التخطيطي الأول، أو انتقل مباشرة إلى Language Reference للحصول على الصيغة الكاملة.