سیستم مستندات یکپارچه

Health check - Business Flows

جریان‌های بیزینسی اصلی

  1. مدیر پروژه و اعضا را پیکربندی می‌کند
  2. تیم دامنه‌ها، چک‌های HTTP، سرورها، سناریوها و تست‌های دستی را وارد می‌کند
  3. Scheduler یا کاربر اجرای چک‌ها را شروع می‌کند
  4. سیستم تاریخچه اجرا و رخدادهای audit را ذخیره می‌کند
  5. داشبورد خرابی، latency و health score را برجسته می‌کند
  6. قواعد اعلان، گیرندگان را مطلع می‌کنند
  7. تیم مشکل را رفع و تاریخچه را بازبینی می‌کند

دیاگرام‌های بیزینسی

این دیاگرام‌ها از README/HANDOFF/PRD/docs و نام ماژول‌ها و endpointهای موجود ساخته شده‌اند. جاهایی که BPMN واقعی لازم است، خروجی به صورت BPMN-like در Mermaid flowchart تولید شده است.

Use Case Diagram

Mermaid flowchart - actor/use-case view

flowchart LR
  system(["System boundary: Health check"])
  A1(["مدیر کل"])
  A2(["مدیر پروژه"])
  A3(["تیم QA"])
  A4(["DevOps"])
  A5(["Scheduler"])
  A6(["سرویس اعلان"])
  UC1(("ورود و کنترل دسترسی RBAC"))
  system --- UC1
  A1 --> UC1
  UC2(("مدیریت پروژه و اعضا"))
  system --- UC2
  A2 --> UC2
  UC3(("ورود گروهی دامنه، چک، سرور و سناریو"))
  system --- UC3
  A3 --> UC3
  UC4(("اجرای چک HTTP، سرور و سناریو"))
  system --- UC4
  A4 --> UC4
  UC5(("بررسی داشبورد و خرابی‌ها"))
  system --- UC5
  A5 --> UC5
  UC6(("ارسال اعلان ایمیل، پیامک و webhook"))
  system --- UC6
  A6 --> UC6
  classDef actor fill:#dbeafe,stroke:#2563eb,color:#0f172a
  classDef usecase fill:#f8fafc,stroke:#64748b,color:#0f172a

User Flow

Mermaid flowchart - end-to-end business flow

flowchart TD
  S1["مدیر پروژه و اعضا را پیکربندی می‌کند"]
  S2["تیم دامنه‌ها، چک‌های HTTP، سرورها، سناریوها و تست‌های دستی را وارد می‌کند"]
  S1 --> S2
  S3["Scheduler یا کاربر اجرای چک‌ها را شروع می‌کند"]
  S2 --> S3
  S4["سیستم تاریخچه اجرا و رخدادهای audit را ذخیره می‌کند"]
  S3 --> S4
  S5["داشبورد خرابی، latency و health score را برجسته می‌کند"]
  S4 --> S5
  S6["قواعد اعلان، گیرندگان را مطلع می‌کنند"]
  S5 --> S6
  S7["تیم مشکل را رفع و تاریخچه را بازبینی می‌کند"]
  S6 --> S7
  classDef start fill:#dcfce7,stroke:#16a34a,color:#0f172a
  classDef normal fill:#ffffff,stroke:#2563eb,color:#0f172a
  class S1 start
  class S2 normal
  class S3 normal
  class S4 normal
  class S5 normal
  class S6 normal
  class S7 normal

Sequence Diagram

Mermaid sequence diagram

sequenceDiagram
  autonumber
  participant QA_Engineer as QA Engineer
  participant Vue_Panel as Vue Panel
  participant NestJS_API as NestJS API
  participant Scheduler as Scheduler
  participant Runner as Runner
  participant PostgreSQL as PostgreSQL
  participant Notification_Service as Notification Service
  QA_Engineer->>Vue_Panel: شروع چک دستی یا زمان‌بندی‌شده
  Vue_Panel->>NestJS_API: ارسال درخواست اجرای چک
  NestJS_API->>Runner: اجرای HTTP/Ping/Scenario step
  Runner->>PostgreSQL: ذخیره نتیجه و تاریخچه اجرا
  NestJS_API->>Notification_Service: ارزیابی قواعد اعلان
  Notification_Service->>QA_Engineer: ارسال هشدار در صورت تطابق rule

Business Block Diagram

Mermaid block diagram

block-beta
  columns 3
  B1["فضای پروژه"]
  B2["Domain Checks"]
  B3["HTTP Checks"]
  B4["Server Checks"]
  B5["Scenario Runs"]
  B6["Manual Tests"]
  B7["داشبورد"]
  B8["اعلان‌ها"]
  B9["Audit Log"]

BPMN-like Process

Mermaid flowchart with swimlane-style subgraphs

flowchart LR
  subgraph L1["کاربر"]
    L1S1["ایجاد پروژه"]
    L1S2["تعریف چک‌ها"]
    L1S1 --> L1S2
    L1S3["بررسی هشدار"]
    L1S2 --> L1S3
  end
  subgraph L2["سیستم"]
    L2S1["زمان‌بندی اجرا"]
    L2S2["اجرای چک‌ها"]
    L2S1 --> L2S2
    L2S3["محاسبه سلامت"]
    L2S2 --> L2S3
  end
  L1S3 --> L2S1
  subgraph L3["عملیات"]
    L3S1["اطلاع به مالک"]
    L3S2["بررسی خرابی"]
    L3S1 --> L3S2
    L3S3["بستن incident"]
    L3S2 --> L3S3
  end
  L2S3 --> L3S1
  classDef lane fill:#f8fafc,stroke:#cbd5e1,color:#0f172a

User Journey

Mermaid journey chart

journey
  title Health check business journey
  section Discover and act
    مدیر پروژه و اعضا را پیکربندی می‌کند: 4: User,System
    تیم دامنه‌ها، چک‌های HTTP، سرورها، سناریوها و تست‌های دستی را وارد می‌کند: 5: User,System
    Scheduler یا کاربر اجرای چک‌ها را شروع می‌کند: 3: User,System
    سیستم تاریخچه اجرا و رخدادهای audit را ذخیره می‌کند: 4: User,System
    داشبورد خرابی، latency و health score را برجسته می‌کند: 5: User,System
    قواعد اعلان، گیرندگان را مطلع می‌کنند: 3: User,System

شواهد و منابع بیزینسی خوانده‌شده

  • backend/README.md
  • backend/src/domains/domains.controller.ts
  • backend/src/domains/domains.module.ts
  • backend/src/domains/domains.service.ts
  • backend/src/scenarios/scenarios.controller.ts
  • backend/src/scenarios/scenarios.module.ts
  • backend/src/scenarios/scenarios.service.ts
  • frontend/README.md
  • README.md

Endpointهای پشتیبان جریان‌ها

  • GET /audit-logs - AuditLogsController.نیازمند بررسی - module: audit-logs
  • POST /auth/login - AuthController.login - module: auth
  • POST /auth/refresh - AuthController.refresh - module: auth
  • POST /auth/logout - AuthController.logout - module: auth
  • GET /auth/me - AuthController.me - module: auth
  • POST /auth/password-reset/request - AuthController.passwordResetRequest - module: auth
  • POST /auth/password-reset/confirm - AuthController.passwordResetConfirm - module: auth
  • POST /projects/:projectId/bulk-import - BulkImportController.upload - module: bulk-import
  • GET /dashboard/overview - DashboardController.نیازمند بررسی - module: dashboard
  • GET /dashboard/latest-failures - DashboardController.نیازمند بررسی - module: dashboard
  • GET /dashboard/trends - DashboardController.نیازمند بررسی - module: dashboard
  • GET /dashboard/frontend-previews/grouped - DashboardController.نیازمند بررسی - module: dashboard
  • GET /projects/:projectId/domains - DomainsController.نیازمند بررسی - module: domains
  • POST /projects/:projectId/domains - DomainsController.نیازمند بررسی - module: domains
  • PATCH /domains/:id - DomainsController.نیازمند بررسی - module: domains
  • DELETE /domains/:id - DomainsController.نیازمند بررسی - module: domains

ابهام‌ها

جزئیات SLA، مالک هر مرحله، exception pathها و تصمیم‌های دقیق BPMN در بعضی پروژه‌ها در کد کامل نیست و برای مدل فرایندی نهایی نیازمند بررسی انسانی است.