# تسک‌های پیاده‌سازی ClinicPro در Symfony

## خلاصه پروژه
مهاجرت API اپلیکیشن clinic-pro از Drupal به Symfony 7
محیط توسعه: DDEV | PHP 8.3 | MySQL 8 | Redis

---

## لیست تسک‌ها به ترتیب اولویت

| تسک | ماژول | Endpoint ها | وابستگی | زمان |
|-----|-------|------------|---------|------|
| [۰۱](task-01-project-setup/) | راه‌اندازی پروژه | — | — | ۴-۶h |
| [۰۲](task-02-authentication/) | احراز هویت | 8 | ۰۱ | ۸-۱۰h |
| [۰۳](task-03-user-profile/) | پروفایل کاربر | 4 | ۰۱،۰۲ | ۸-۱۰h |
| [۰۴](task-04-blog/) | بلاگ | 7 | ۰۱،۰۲ | ۶-۸h |
| [۰۵](task-05-doctor/) | دکتر + آدرس | 10 | ۰۱،۰۲،۰۸ | ۸-۱۰h |
| [۰۶](task-06-clinic/) | کلینیک | 7 | ۰۱،۰۲،۰۵،۰۸ | ۶-۸h |
| [۰۷](task-07-agent/) | نماینده | 3 | ۰۱،۰۲ | ۳-۴h |
| [۰۸](task-08-categories/) | دسته‌بندی‌ها | 10 | ۰۱،۰۲ | ۴-۵h |
| [۰۹](task-09-appointment-settings/) | تنظیمات نوبت | 11 | ۰۱،۰۲،۰۵ | ۱۰-۱۲h |
| [۱۰](task-10-appointment/) | نوبت‌دهی | 4 | ۰۱،۰۲،۰۵،۰۹،۱۵ | ۱۰-۱۲h |
| [۱۱](task-11-insurance/) | بیمه | 4 | ۰۱،۰۲،۰۵،۰۸ | ۳-۴h |
| [۱۲](task-12-rating-comment/) | امتیاز و نظرات | 12 | ۰۱،۰۲،۰۵،۱۰ | ۸-۱۰h |
| [۱۳](task-13-like/) | لایک | 2 | ۰۱،۰۲ | ۲-۳h |
| [۱۴](task-14-secretary/) | منشی | 5 | ۰۱،۰۲،۰۵ | ۴-۵h |
| [۱۵](task-15-payment/) | پرداخت | 3 | ۰۱،۰۲،۱۰ | ۶-۸h |
| [۱۶](task-16-representation/) | داشبورد دکتر | 5 | ۰۱،۰۲،۰۵،۱۰،۱۵ | ۸-۱۰h |

**مجموع endpoint ها: ~۹۵**
**مجموع زمان تخمینی: ۱۰۰ تا ۱۲۵ ساعت**

---

## ساختار هر تسک

```
task-XX-name/
├── task.md               ← شرح، endpoint ها، وابستگی‌ها، زمان
├── architecture.md       ← ساختار فایل‌ها، entity ها، لایه‌ها
├── database.md           ← جداول، ستون‌ها، ایندکس‌ها، روابط
├── implementation_notes.md ← نکات فنی، edge case، امنیت
└── user_flow.md          ← (فقط تسک‌های پیچیده) جریان کاربری
```

---

## ترتیب پیشنهادی اجرا

```
۰۱ → ۰۲ → ۰۸ → ۰۳
                  ↓
              ۰۵ → ۰۶
              ↓
         ۰۴  ۰۷  ۱۱  ۰۹
                      ↓
                  ۱۰ → ۱۵ → ۱۶
                  ↓
              ۱۲  ۱۳  ۱۴
```

---

## دستورات DDEV پرکاربرد

```bash
ddev start                              # شروع محیط
ddev stop                               # توقف محیط
ddev ssh                                # ورود به container

ddev exec php bin/console make:controller {Name}
ddev exec php bin/console make:entity {Name}
ddev exec php bin/console doctrine:migrations:diff
ddev exec php bin/console doctrine:migrations:migrate
ddev exec php bin/console doctrine:fixtures:load

ddev exec php bin/console cache:clear
ddev exec php bin/console debug:router
ddev exec php bin/console debug:container

ddev describe                           # مشاهده URL و پورت‌ها
```
