Files
hamed 158dcb58aa feat: implement service mode completion for nobat724_front
- Add task for completing service mode in clinicpro with detailed objectives and acceptance criteria.
- Create architecture documentation for task 00b, outlining involved components and necessary changes.
- Develop checklist for task 00b to ensure all requirements are met.
- Document implementation notes for task 00b, emphasizing API contract checks and design system adherence.
- Update task documentation for task 00b, specifying goals and current issues with service mode.
2026-07-30 11:56:08 +03:30

4.4 KiB
Raw Permalink Blame History

تعریف «تمام‌شده» و قالب چک‌لیست

هر تسک یک checklist.md دارد. پیش از اعلام پایان تسک، همهٔ ردیف‌ها بازبینی می‌شوند و هیچ ردیفی در 🔄 یا نمی‌ماند.


نمادها

نماد معنی اجازهٔ باقی‌ماندن در پایان تسک
انجام‌شده و تأییدشده بله
🔄 در حال انجام نه — یا شود یا با دلیل صریح به منتقل شود
انجام‌نشده نه — یا شود یا با دلیل مکتوب و تسک مقصد به تعویق برود
⚠️ نیازمند بررسی یا تست نه — باید تعیین تکلیف شود

تنها وقتی در پایان مجاز است که کنارش نوشته شده باشد: چرا به تعویق افتاد و کدام تسک آن را برمی‌دارد. ⏳ بدون دلیل = تسک تمام نشده.


قالب checklist.md

# چک‌لیست — تسک XX

وضعیت کلی: ⏳ شروع نشده | 🔄 در حال انجام | ✅ تمام‌شده
آخرین بازبینی: —

## ۰. خط سرخ‌ها  (رجوع: _shared/red-lines.md)
| # | مورد | وضعیت | یادداشت |
|---|---|---|---|
| ۰.۱ | منطق اسلاتی دست‌کاری نشد · `--group=slot-mode-frozen` سبز | ⏳ | |
| ۰.۲ | هیچ متد موجود `SlotCalculatorService` ویرایش نشد | ⏳ | |
| ۰.۳ | قرارداد `appointment-slots` و `month-availability` دست‌نخورده | ⏳ | |

## ۱. بک‌اند
## ۲. دیتابیس و مهاجرت
## ۳. UI  (رجوع: _shared/ui-conventions.md)
## ۴. تست
## ۵. مستندات
## ۶. بازبینی پایانی

بخش ۶ — بازبینی پایانی، یکسان در همهٔ تسک‌ها

| # | مورد | وضعیت | یادداشت |
|---|---|---|---|
| ۶.۱ | همهٔ ردیف‌های بالا وضعیت نهایی دارند (هیچ 🔄 و ⏳ بی‌دلیل) | ⏳ | |
| ۶.۲ | `ddev exec php bin/phpunit` کامل سبز | ⏳ | |
| ۶.۳ | `ddev exec php bin/phpunit --group=slot-mode-frozen` سبز | ⏳ | |
| ۶.۴ | `ddev exec php vendor/bin/phpstan analyse` بدون خطای جدید | ⏳ | |
| ۶.۵ | `npx tsc --noEmit` بدون خطا | ⏳ | |
| ۶.۶ | `yarn test` سبز | ⏳ | |
| ۶.۷ | `TenantSchemaCoverageTest` و `TenantLookupInventoryTest` سبز | ⏳ | |
| ۶.۸ | `docs/api/*` به‌روز شد (قاعدهٔ ثابت پروژه) | ⏳ | |
| ۶.۹ | چک‌لیست UI کامل شد (اگر تسک صفحه/کامپوننت دارد) | ⏳ | |
| ۶.۱۰ | مصرف‌کنندگان دیگر دستی بررسی شدند: `nobat724_front` · `clinic-pro-tauri` | ⏳ | |
| ۶.۱۱ | تغییرات commit شد، سپس `graphify update .` اجرا شد | ⏳ | |
| ۶.۱۲ | موارد به‌تعویق‌افتاده با دلیل و تسک مقصد ثبت شدند | ⏳ | |

ردیف ۶.۱۰ در build هیچ‌کدام از آن دو ریپو خطا نمی‌دهد — بررسی فقط دستی ممکن است. ردیف ۶.۱۱ ترتیبش مهم است: اول commit، بعد graphify update.


قواعد ثابت پروژه که در هر تسک اعمال می‌شوند

از CLAUDE.md و docs/architecture/tenancy.md:

  1. entity جدید یا TenantOwnedTrait می‌گیرد یا با دلیل در GlobalTables ثبت می‌شود
  2. entity_type, entity_id ستون‌های اول هر ایندکس ترکیبیِ لیست
  3. هر uuid از request با TenantOwnershipChecker سنجیده می‌شود
  4. timestamp ها int یونیکس، نه DateTime · نمایش شمسی فقط در UI
  5. کنترلر نازک · extends BaseController · success()/paginated()/error()
  6. منطق در Service، کوئری در Repository، وابستگی با constructor injection
  7. لیست‌های ادمین با getArrayResult()
  8. API جدید فقط وقتی هیچ endpoint موجودی — حتی با توسعه — کافی نباشد؛ دلیلش نوشته شود
  9. تست موفق + خطا + مرزی · بدون اجرای موفق تست، تسک تمام نیست
  10. کد و کامیت و مستندات انگلیسی · رشته‌های UI فارسی از i18n
  11. SOLID · کلاس/کامپوننت چندمسئولیتی ننویس