پرش به محتویات

مستندات Moduleهای Backend

هر Module پیاده‌سازی‌شده یک پوشه مستقل و شماره‌دار دارد. سند Module رفتار موجود، مرز مالکیت و پیوند آن با محصول، OpenAPI، Migration، Test و عملیات را توضیح می‌دهد؛ برنامه آینده با وضعیت موجود مخلوط نمی‌شود.

قرارداد ساختار

حداقل فایل index.md الزامی است. صفحه دیگر فقط برای موضوع واقعی ساخته می‌شود و فایل یا Layer نمایشی مجاز نیست.

02-modules/
└── 01-<module-name>/
    ├── index.md
    ├── 01-domain-and-use-cases.md
    ├── 02-api.md
    ├── 03-data-and-migrations.md
    ├── 04-security.md
    └── 05-operations.md

محتوای الزامی

  • هدف، داخل و خارج دامنه و مالک داده؛
  • وضعیت Use Caseها با تفکیک پیاده‌سازی‌شده و برنامه‌ریزی‌شده؛
  • Invariant، Transaction Boundary و Dependencyهای ورودی و خروجی؛
  • Permission، Tenant Scope، PII و کنترل‌های امنیتی؛
  • لینک به Product Scenario، OpenAPI، Migration، ADR، Test و Runbook؛
  • خطا، Retry، Idempotency، Observability و معیار پذیرش مرتبط.

قواعد نگهداری

  • نام پوشه با Feature کد هماهنگ، انگلیسی، lowercase و kebab-case است.
  • هر صفحه یک هدف دارد و قواعد مشترک استانداردها را تکرار نمی‌کند.
  • API و Schema در این صفحات دوباره تعریف نمی‌شوند؛ Context و Rule تکمیلی نوشته و به منبع ماشینی لینک داده می‌شود.
  • تغییر Auth، Permission، Tenant، داده شخصی، پرداخت یا فایل به Review تخصصی نیاز دارد.
  • شماره پوشه بعد از انتشار دوباره استفاده نمی‌شود؛ Module جدید شماره بعدی را می‌گیرد.

نشانی و تصویر ساختمان قرارداد بخش اطلاعات تکمیلی و Upload خصوصی آن را پوشش می‌دهد.

Moduleهای نامزد آینده

پوشه فقط هم‌زمان با شروع طراحی فنی واقعی ساخته می‌شود. نامزدهای فعلی شامل buildings، memberships، finance، tickets، notifications، facilities، front-desk، documents و platform-admin هستند. این فهرست تصمیم قطعی مرزبندی نیست.