Files
clinicpro/docs/new_feture/taskes/task-01-branch-room/checklist.md
T
hamed 70739691d1 Add checklists for tasks 11 to 14 covering credit ledger, treatment course, cancellation policies, and event utilization
- Created checklist for task 11: Package and Credit Ledger
- Created checklist for task 12: Treatment Course
- Created checklist for task 13: Cancellation Policy, No-Show, and Waitlist
- Created checklist for task 14: Domain Events and Utilization Reports
2026-07-30 12:12:45 +03:30

5.0 KiB
Raw Blame History

چک‌لیست — تسک ۰۱ (شعبه و اتاق)

وضعیت کلی: شروع نشده · آخرین بازبینی:

قواعد: _shared/definition-of-done.md · red-lines.md · ui-conventions.md


۰. خط سرخ

# مورد وضعیت یادداشت
۰.۱ --group=slot-mode-frozen سبز
۰ SlotCalculatorService دست‌نخورده این تسک به آن کاری ندارد
۰ location_id در JSON برنامهٔ هفتگی دست‌نخورده شعبه بالای آدرس می‌نشیند
۰ DoctorAddress هیچ ستونی حذف/تغییر نداد فقط branch_id تهی‌پذیر اضافه شد

۱. بک‌اند

# مورد وضعیت یادداشت
۱.۱ Branch + BranchWorkingHours + Room entity
۱ BranchService با گاردهای حذف قابل توسعه (DeletionGuardInterface) تسک ۰۲ و ۰۷ گارد اضافه می‌کنند
۱ WorkingHoursService — اعتبارسنجی و sequence سمت سرور
۱ ساعت با start_minute/end_minute عددی، نه رشتهٔ "09:00"
۱.۵ هشت endpoint ساخته شد
۱ پزشک مستقل هم شعبه دارد (مطب = شعبه) نه فقط entity_type=clinic
۱.۷ app:branch:backfill — dry-run پیش‌فرض، idempotent
۱ کنترلر نازک · BaseController · success/paginated/error
۱ TenantOwnershipChecker روی هر uuid از request

۲. دیتابیس

# مورد وضعیت یادداشت
۲.۱ branches · branch_working_hours · rooms
۲.۲ entity_type, entity_id ستون اول ایندکس‌های لیست
۲.۳ timezone روی شعبه از روز اول افزودن بعدی = backfill زمان‌دار
۲.۴ rooms.capacity — ظرفیت هم‌زمان اتاق سه‌تخته = یک ردیف با ۳
۲.۵ branch_working_hours در GlobalTables::AGGREGATE_CHILDREN
۲.۶ TenantSchemaCoverageTest سبز

۳. UI

# مورد وضعیت یادداشت
۳.۱ BranchesPage · BranchFormPage · RoomsPage
۳.۲ DataTable با skeleton و empty state فارسی
۳.۳ PageHeader با backTo روی زیرصفحه‌ها
۳.۴ شهر/استان با SearchableSelect — هیچ <select> بومی
۳.۵ وضعیت لیست در URL با useUrlState
۳.۶ هیچ رنگ/شعاع/سایهٔ hard-code — همه از توکن
۳.۷ دارک‌مود و حالت فشرده بررسی شد
۳.۸ RTL و موبایل بررسی شد
۳.۹ همهٔ رشته‌ها فارسی از i18n
۳.۱۰ هشدار UI: «هیچ شعبهٔ فعالی باقی نمی‌ماند»
۳.۱۱ مسیرها در App.tsx

۴. تست

# مورد وضعیت یادداشت
۴.۱ BranchCrudTest — نقش‌ها، ۴۰۴ نه ۴۰۳ برای محیط دیگر
۴.۲ WorkingHoursTestend<=start، هم‌پوشانی، شبانه‌روزی 0..1440
۴.۳ BranchDeletionTest — شعبهٔ دارای اتاق فعال → ۴۲۲
۴.۴ capacity=0 → ۴۲۲
۴.۵ phpstan analyse src/Branch بدون خطا

۵. مستندات

# مورد وضعیت یادداشت
۵.۱ docs/api/branch.md + ثبت در docs/api/README.md
۵ تفسیر «شعبهٔ بدون ساعت کاری = تعریف‌نشده، نه همیشه‌باز» نوشته شد تسک ۰۳ رویش حساب می‌کند
۵ docs/architecture/tenancy.md جدول طبقه‌بندی به‌روز شد

۶. بازبینی پایانی

# مورد وضعیت یادداشت
۶.۱ هیچ 🔄 و بی‌دلیل نمانده
۶.۲ bin/phpunit کامل سبز
۶.۳ --group=slot-mode-frozen سبز
۶.۴ phpstan بدون خطای جدید
۶.۵ npx tsc --noEmit و yarn test سبز
۶.۶ TenantSchemaCoverageTest + TenantLookupInventoryTest سبز
۶.۷ docs/api/* به‌روز
۶.۸ چک‌لیست UI کامل
۶.۹ nobat724_front و clinic-pro-tauri بررسی شدند این تسک قرارداد عمومی عوض نمی‌کند
۶.۱۰ commit، سپس graphify update .
۶.۱۱ موارد به‌تعویق با دلیل و تسک مقصد