feat: add doctor profile page with sidebar integration and routing

This commit is contained in:
hamed
2026-06-11 19:06:59 +03:30
parent 704075770b
commit 277922d4ae
7 changed files with 347 additions and 76 deletions
+41 -9
View File
@@ -10,13 +10,14 @@ description: اجرای یک فایل پرامپت .md به صورت گام‌ب
---
## قبل از شروع — تحلیل پرامپت
## قبل از شروع — تحلیل پرامپت و ساخت Todo
۱. فایل پرامپت را کامل بخوان
۲. مستندات موجود را بررسی کن: `docs/api/`
۳. کد مرتبط در `src/` و `assets/admin/` را مرور کن
۴. لیست قابلیت‌ها را از پرامپت استخراج کن
۵. به کاربر نمایش بده:
۵. **با `TodoWrite` یک todo کامل بساز** — یک آیتم به ازای هر قابلیت
۶. به کاربر نمایش بده:
```
📋 قابلیت‌های شناسایی‌شده:
@@ -31,23 +32,44 @@ description: اجرای یک فایل پرامپت .md به صورت گام‌ب
## قوانین اجرا (اجباری — هیچ استثنایی ندارد)
### ۱. یک قابلیت در هر مرحله
### ۱. Todo — ستون فقرات اجرا
**در ابتدای هر اجرا** یک todo کامل با `TodoWrite` بساز:
- یک آیتم به ازای هر قابلیت با وضعیت `pending`
- آیتم‌های زیر-مجموعه اضافه کن اگر قابلیت چند بخش مستقل دارد
**در طول اجرا:**
- هر قابلیت را که شروع می‌کنی → وضعیتش را `in_progress` کن
- هر قابلیت را که تست و تأیید شد → فوری `completed` کن
- هرگز دو آیتم را همزمان `in_progress` نگذار
- اگر خطا داری که قابلیت را block کرده → یک آیتم `in_progress` باقی بماند تا رفع شود
**نمونه todo اولیه:**
```
[ ] قابلیت ۱: Stats Bar backend endpoint
[ ] قابلیت ۲: Stats Bar frontend component
[ ] قابلیت ۳: PersianCalendar popup
[ ] قابلیت ۴: AppointmentStatusDropdown
[ ] قابلیت ۵: بازطراحی AppointmentsPage
```
### ۲. یک قابلیت در هر مرحله
- هرگز دو قابلیت را همزمان پیاده‌سازی نکن
- هرگز بدون تأیید موفقیت مرحله قبل به مرحله بعد نرو
### ۲. ترتیب اجرای هر قابلیت
### ۳. ترتیب اجرای هر قابلیت
```
① تحلیل ② طراحی ③ پیاده‌سازی ④ تست ⑤ رفع خطا ⑥ مستندسازی ⑦ گزارش
① تحلیل ② طراحی ③ پیاده‌سازی ④ تست ⑤ رفع خطا ⑥ مستندسازی ⑦ Todo + گزارش
```
### ۳. سازگاری با پروژه
### ۴. سازگاری با پروژه
- همه تغییرات باید با Symfony 7 + React 19 سازگار باشند
- از الگوهای موجود پروژه پیروی کن (BaseController، TanStack Query، Zod، ...)
- اگر Entity تغییر کرد: `doctrine:migrations:diff` و `doctrine:migrations:migrate` اجرا کن
- اگر API تغییر کرد: همه بخش‌های وابسته (frontend types، api calls، ...) را اصلاح کن
### ۴. اصول کدنویسی
### ۵. اصول کدنویسی
- SOLID و Clean Code
- هیچ کامنت غیرضروری اضافه نکن
- نام‌گذاری معنادار
@@ -74,6 +96,7 @@ description: اجرای یک فایل پرامپت .md به صورت گام‌ب
### مرحله ③ — پیاده‌سازی
- قابلیت را در todo روی `in_progress` بگذار
- **Backend اول**: Entity → Migration → Repository → Service → Controller
- **Frontend بعد**: Types → API call → Component → Route
- یک فایل در هر Edit/Write — نه bulk
@@ -138,9 +161,12 @@ ddev exec npx tsc --noEmit --project tsconfig.json 2>&1 | head -30
4. تمام status codes و error codes
5. اگر پارامتر query داشت → همه را مستند کن
### مرحله ⑦ — گزارش
### مرحله ⑦ — Todo + گزارش
بعد از اتمام هر قابلیت، گزارش کوتاه:
بعد از موفقیت تست و مستندسازی:
۱. **آیتم todo را `completed` کن** با `TodoWrite`
۲. گزارش کوتاه نمایش بده:
```
✅ قابلیت [شماره]: [نام] — تکمیل شد
@@ -150,6 +176,12 @@ ddev exec npx tsc --noEmit --project tsconfig.json 2>&1 | head -30
• assets/admin/...
• docs/api/...
📊 پیشرفت کلی:
✅ قابلیت ۱: [نام] — تکمیل
✅ قابلیت ۲: [نام] — تکمیل
⏳ قابلیت ۳: [نام] — در صف
...
─────────────────────────────────
▶ قابلیت بعدی: [شماره] — [نام]
آیا ادامه دهم؟