Diagram MakerQuick Start

Quick Start

Build your first diagram in six steps

بداية سريعة

قم ببناء أول مخطط معماري تم التحقق منه في ست خطوات. تقدم كل خطوة مفهوم Datro جديدًا. في النهاية، سيكون لديك رسم تخطيطي كامل ومُصمم ومُدقق في القيود وجاهز للتصدير بتنسيق SVG.

افتح صانع المخططات

تابع في المحرر المباشر - الصق كل مقتطف وانقر على التحقق من الصحة.

الخطوة 1 - اكتب العقد والحواف الأولى

يبدأ كل ملف .dtro برأس سحري. بعد ذلك، أعلن عن العقد (الكيانات) و الحواف (العلاقات). الصق هذا في المحرر:

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 }
ℹ️

مطلوب رأس سحري

السطر #!DATRO 1.0 على السطر 1 إلزامي. يقوم المحلل بإرجاع E100 إذا كان مفقودًا.

الخطوة 2 — أضف `attrs` للحصول على بيانات وصفية أكثر ثراءً

تحتوي الكتلة attrs على بيانات تعريف عشوائية لقيمة المفتاح. يمكن أن تكون القيم عبارة عن سلاسل أو أرقام أو منطقية أو صفائف. السمات الشائعة هي tech، owner، deprecated، و sla.

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

تمر السمات عبر JSON IR وتظهر كتلميحات أدوات في SVG المقدمة - وهي مفيدة للبيانات التعريفية عند الطلب وSLA.

الخطوة 3 - إضافة بيانات تعريف الحافة

تحتوي الحواف على نوع (نوع العلاقة الدلالية)، وتسمية اختيارية، ووزن (حركة مرور نسبية)، وعلامة غير متزامنة. يتم عرض الحواف غير المتزامنة كخطوط متقطعة.

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"
Yesنوع العلاقة الدلالية
labelstringNoنص قصير معروض على سطر الحافة
weightnumberNoالوزن النسبي لحركة المرور - الحواف الأثقل تصبح أكثر سمكًا
asyncbooleanNoعندما يكون صحيحًا، يتم عرض الحافة على أنها متقطعة (نمط إطلاق النار والنسيان)

الخطوة 4 - تجميع العقد في مجموعات

استخدم كتلة group لتجميع العقد ذات الصلة. يتم عرض المجموعات كمربعات رسم بياني فرعي مسماة في SVG. يمكن أن تنتمي العقدة إلى مجموعة واحدة فقط.

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

المجموعات مقابل العقدة.المجموعة

يمكنك أيضًا تعيين مجموعة مباشرة على العقدة باستخدام group: data_tier. كلا الأسلوبين صالحان؛ قائمة group الخاصة بالكتلة members لها الأولوية.

الخطوة 5 - إضافة قيد معماري

القيود هي قواعد معمارية يتم فحصها آليًا. يقوم المدقق بتقييمها مقابل IR وإرجاع أخطاء E501 عند انتهاك القاعدة.

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

القاعدة database !-> external تعني: لا يجوز أن يكون لأي عقدة من النوع database حافة موجهة لأي عقدة من النوع external. يؤدي هذا إلى حظر مكالمات DB المباشرة غير المقصودة → واجهة برمجة تطبيقات الطرف الثالث.

الخطوة 6 - إضافة تلميحات التخطيط والموضوع

تحكم في كيفية ترتيب الرسم التخطيطي باستخدام كتلة layout وحدد لوحة الألوان باستخدام كتلة theme. يتم تشغيل فحص إمكانية الوصول W602 إذا كان أي لون أقل من تباين 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 }
}
💡

تباين WCAG تلقائي

يقوم مصدر DOT تلقائيًا باختيار لون الخط الأسود أو الأبيض لكل تعبئة عقدة باستخدام صيغة النصوع النسبي WCAG 2.1 - لا يلزم أي تكوين.

الخطوات التالية

  • اقرأ Language Reference للحصول على الصيغة الكاملة لكل نوع كتلة.
  • استخدم CLI Reference للتحقق من الصحة والتنسيق والتصدير من سطر الأوامر.
  • تعرف على كيفية إنشاء مستندات embed diagrams in Markdown باستخدام الملاحظة أو البرنامج الإضافي markdown-it.
افتح صانع المخططات

الرسم التخطيطي الخاص بك جاهز للعرض — انقر فوق Render → SVG في شريط أدوات المحرر.

Schema v1 · Updated September 2026