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

Backend Core - Business Flows

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

  1. ادمین کاربران، نقش‌ها، مناطق و داده پروژه را پیکربندی می‌کند
  2. Promoter وظیفه visit یا survey باز را دریافت می‌کند
  3. Promoter به سوالات پاسخ می‌دهد و عکس آپلود می‌کند
  4. سیستم phone/OTP را تایید و شواهد را ذخیره می‌کند
  5. ادمین پاسخ‌ها، عکس‌ها و وضعیت visit را بازبینی می‌کند
  6. ماژول‌های warehouse/wallet/config عملیات پشتیبان را انجام می‌دهند
  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: Backend Core"])
  A1(["ادمین"])
  A2(["Promoter / کاربر میدانی"])
  A3(["اپراتور survey"])
  A4(["کاربر انبار"])
  A5(["کاربر wallet"])
  A6(["SMS/Storage Provider"])
  UC1(("احراز هویت OTP و پروفایل کاربر"))
  system --- UC1
  A1 --> UC1
  UC2(("مدیریت visit و وظایف promoter"))
  system --- UC2
  A2 --> UC2
  UC3(("پر کردن survey و آپلود عکس شواهد"))
  system --- UC3
  A3 --> UC3
  UC4(("بازبینی گزارش‌ها و پاسخ‌ها توسط ادمین"))
  system --- UC4
  A4 --> UC4
  UC5(("مدیریت موجودیت‌های انبار"))
  system --- UC5
  A5 --> UC5
  UC6(("پردازش تراکنش wallet/account"))
  system --- UC6
  A6 --> UC6
  UC7(("پیکربندی media، region و menu"))
  system --- UC7
  A1 --> UC7
  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["Promoter وظیفه visit یا survey باز را دریافت می‌کند"]
  S1 --> S2
  S3["Promoter به سوالات پاسخ می‌دهد و عکس آپلود می‌کند"]
  S2 --> S3
  S4["سیستم phone/OTP را تایید و شواهد را ذخیره می‌کند"]
  S3 --> S4
  S5["ادمین پاسخ‌ها، عکس‌ها و وضعیت visit را بازبینی می‌کند"]
  S4 --> S5
  S6["ماژول‌های warehouse/wallet/config عملیات پشتیبان را انجام می‌دهند"]
  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 Promoter as Promoter
  participant Client_App as Client App
  participant Django_API as Django API
  participant Auth_OTP as Auth/OTP
  participant Survey_Visit as Survey/Visit
  participant Database as Database
  participant Admin as Admin
  Promoter->>Client_App: باز کردن visit/survey
  Client_App->>Django_API: درخواست تنظیمات صفحه و سوالات
  Django_API->>Auth_OTP: اعتبارسنجی دسترسی یا کد تلفن
  Django_API->>Survey_Visit: ذخیره پاسخ‌ها و عکس‌ها
  Survey_Visit->>Database: ذخیره شواهد عملیاتی
  Admin->>Django_API: بازبینی و تغییر وضعیت

Business Block Diagram

Mermaid block diagram

block-beta
  columns 3
  B1["Auth"]
  B2["Visit"]
  B3["Survey"]
  B4["Report"]
  B5["Warehouse"]
  B6["Wallet"]
  B7["Config"]
  B8["Notification"]
  B9["URL Utility"]

BPMN-like Process

Mermaid flowchart with swimlane-style subgraphs

flowchart LR
  subgraph L1["ادمین"]
    L1S1["ایجاد visit/survey"]
    L1S2["ارجاع به promoter"]
    L1S1 --> L1S2
    L1S3["بازبینی evidence"]
    L1S2 --> L1S3
  end
  subgraph L2["Promoter"]
    L2S1["باز کردن task"]
    L2S2["پاسخ به سوالات"]
    L2S1 --> L2S2
    L2S3["آپلود عکس"]
    L2S2 --> L2S3
  end
  L1S3 --> L2S1
  subgraph L3["سیستم"]
    L3S1["اعتبارسنجی OTP"]
    L3S2["ذخیره رکوردها"]
    L3S1 --> L3S2
    L3S3["ارائه گزارش"]
    L3S2 --> L3S3
  end
  L2S3 --> L3S1
  classDef lane fill:#f8fafc,stroke:#cbd5e1,color:#0f172a

User Journey

Mermaid journey chart

journey
  title Backend Core business journey
  section Discover and act
    ادمین کاربران، نقش‌ها، مناطق و داده پروژه را پیکربندی می‌کند: 4: User,System
    Promoter وظیفه visit یا survey باز را دریافت می‌کند: 5: User,System
    Promoter به سوالات پاسخ می‌دهد و عکس آپلود می‌کند: 3: User,System
    سیستم phone/OTP را تایید و شواهد را ذخیره می‌کند: 4: User,System
    ادمین پاسخ‌ها، عکس‌ها و وضعیت visit را بازبینی می‌کند: 5: User,System
    ماژول‌های warehouse/wallet/config عملیات پشتیبان را انجام می‌دهند: 3: User,System

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

منبع مستقیمی در کد پیدا نشد. وضعیت: نیازمند بررسی انسانی.

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

  • ALL / - views.home - module: core
  • ALL / - Home.as_view( - module: core
  • ALL /blog - include('blog.urls' - module: core
  • ALL /coreadminurl - admin.site.urls - module: core
  • ALL /api-auth - include('rest_framework.urls' - module: core
  • ALL /health - HealthCheck.as_view( - module: core
  • ALL /core/api/core/register - RegisterAPISerializer.as_view( - module: core
  • ALL /core/api/province/list - ProviceListAPIView.as_view( - module: auth_app
  • ALL /core/api/city/list - CityListAPIView.as_view( - module: auth_app
  • ALL /core/api/active_city/list - ActiveCityListView.as_view( - module: core
  • ALL /core/api/region/list_create - RegionListCreateView.as_view( - module: auth_app
  • ALL /core/api/region/edits/<id> - RegionEditsView.as_view( - module: auth_app
  • ALL /core/api/district/list_create - DistrictListCreateView.as_view( - module: auth_app
  • ALL /core/api/district/edits/<id> - DistrictEditsView.as_view( - module: auth_app
  • ALL /core/api/auth/otp/request - RequestOTP.as_view( - module: auth_app
  • ALL /core/api/auth/otp/verify - VerifyPhoneNumberOTPAPIView.as_view( - module: auth_app

ابهام‌ها

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