# ✅ چک‌لیست کامل نصب - نسخه 3.0

## 📦 فایل‌های مورد نیاز (9 فایل):

### گروه 1: فایل‌های جایگزینی (5 فایل)
1. ✅ user_model_v3.py
2. ✅ tree_stats_v3_FINAL.py
3. ✅ activation_v2.py
4. ✅ registration_v2.py
5. ✅ placement.py

### گروه 2: فایل‌های جدید (2 فایل)
6. ✅ stats_recalculation.py
7. ✅ audit_service.zip

### گروه 3: Migration ها (2 فایل)
8. ✅ migration_add_max_descendant_depth.py (حتماً لازمه)
9. ✅ migration_fix_ancestor_depths.py (فقط اگه کاربر قدیمی داری)

---

## 📍 مکان نهایی هر فایل:

### جایگزینی:
```
deployment_package/backend/models/user.py ← user_model_v3.py
deployment_package/backend/services/tree/tree_stats.py ← tree_stats_v3_FINAL.py
deployment_package/backend/services/tree/placement.py ← placement.py
deployment_package/backend/services/user/activation.py ← activation_v2.py
deployment_package/backend/services/user/registration.py ← registration_v2.py
```

### اضافه کردن:
```
deployment_package/backend/services/tree/stats_recalculation.py ← کپی
deployment_package/backend/services/audit/ ← استخراج از zip
```

### Migration ها:
```
هر جایی که راحتی (فقط اجرا می‌شوند)
```

---

## 🔧 مراحل نصب:

### مرحله 1: بک‌آپ
```bash
cd deployment_package/backend
tar -czf /backup/backend_before_v3.tar.gz services/ models/
```

### مرحله 2: جایگزینی فایل‌ها
```bash
cp user_model_v3.py models/user.py
cp tree_stats_v3_FINAL.py services/tree/tree_stats.py
cp placement.py services/tree/placement.py
cp activation_v2.py services/user/activation.py
cp registration_v2.py services/user/registration.py
```

### مرحله 3: اضافه کردن فایل‌های جدید
```bash
cp stats_recalculation.py services/tree/
cd services/
unzip /path/to/audit_service.zip
```

### مرحله 4: ویرایش server.py
افزودن این خطوط:
```python
from services.audit import AuditLogService, set_database as set_audit_db
# در init:
set_audit_db(db)
```

### مرحله 5: Migration
```bash
python migration_add_max_descendant_depth.py
# اگر کاربر قدیمی داری:
python migration_fix_ancestor_depths.py
```

### مرحله 6: Restart
```bash
pm2 restart mlm-backend
```

---

## ❓ سوالات متداول:

**س: migration_fix_ancestor_depths.py لازمه؟**
ج: فقط اگه قبل از این آپدیت کاربرانی ثبت‌نام کرده باشند

**س: چه ترتیبی اجرا کنم؟**
ج: همین ترتیبی که بالا نوشتم

**س: چطوری بفهمم درست نصب شد؟**
ج: `pm2 logs mlm-backend` باید خطا نداشته باشه
