مستندات 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 هستند. این فهرست تصمیم قطعی مرزبندی نیست.