# 📋 فهرست وظایف پروژه AMN Marketplace

## 🎯 اولویت بندی وظایف

### ⚠️ **اولویت بالا (حتماً انجام شود)**

#### وظیفه ۹: اصلاح خطاهای پرداخت (کاهش خطاهای توکن)
- **مسیر**: `code/backend/src/services/payment/` + `amnScannerWebhookRoutes.ts`
- **توضیحات**:
  - اصلاح خطاهای مربوط به توکن در پردازش پرداخت‌ها
  - بهبود مکانیزم اعتبارسنجی توکن
  - لاگ‌گیری کامل از تمام خطاهای توکن
  - بررسی و اصلاح `paymentService.ts` و `amnScannerWebhookRoutes.ts`
- **تأثیر**: جلوگیری از از دست رفتن تراکنش‌ها
- **برآورد زمان**: 2-3 ساعت

---

#### وظیفه ۱: فیلتر و مرتب‌سازی کامل برای فروشندگان + پشتیبانی از دسته‌بندی
- **مسیر**: `code/backend/src/services/marketplace/marketplaceController.ts`
- **توضیحات**:
  - اضافه کردن اندپوینت‌های فیلتر پیشرفته برای لیست فروشندگان
  - پشتیبانی از فیلتر بر اساس:
    - دسته‌بندی (Category)
    - رتبه (Rating)
    - محدوده قیمت
    - وضعیت آنلاین/آفلاین
    - منطقه جغرافیایی
  - مرتب‌سازی بر اساس:
    - تاریخ ثبت‌نام
    - امتیاز
    - تعداد فروش
    - قیمت
- **تغییرات مورد نیاز**:
  - Backend: `getSellers` endpoint با پارامترهای فیلتر
  - Frontend: کامپوننت فیلتر در صفحه `/dashboard/shops`
- **برآورد زمان**: 4-5 ساعت

---

#### وظیفه ۲: انتخاب دسته‌بندی توسط فروشنده در تنظیمات فروشگاه
- **مسیر**: `code/backend/src/services/marketplace/shopSettingsStore.ts` + UI
- **توضیحات**:
  - اضافه کردن فیلد `categoryIds` به مدل `ShopSettings`
  - ایجاد رابط کاربری برای انتخاب چند دسته‌بندی
  - امکان جستجوی فروشندگان بر اساس دسته‌بندی منتخب
- **تغییرات مورد نیاز**:
  - Schema: اضافه کردن رابطه N:M بین users و categories
  - Backend: API برای ذخیره و بازیابی دسته‌بندی‌های فروشنده
  - Frontend: فرم انتخاب دسته‌بندی در `shop-settings/settings`
- **برآورد زمان**: 3 ساعت

---

#### وظیفه ۴: امکان آرشیو جدول‌ها (دیدن درخواست‌های آرشیو شده)
- **مسیر**: `code/backend/src/db/schema/purchaseRequest.ts`
- **توضیحات**:
  - اضافه کردن فیلدهای `isArchived` و `archivedAt` به جدول‌های اصلی
  - ایجاد اندپوینت‌های جدا برای مدیریت آرشیو
  - امکان فیلتر کردن آیتم‌های آرشیو شده/نشده
- **تغییرات مورد نیاز**:
  ```typescript
  // Schema changes
  isArchived: boolean('is_archived').default(false)
  archivedAt: timestamp('archived_at', { withTimezone: true })
  archivedBy: uuid('archived_by') // کاربری که آرشیو کرده
  ```
  - اندپوینت‌های جدید:
    - `POST /api/marketplace/purchase-requests/:id/archive`
    - `GET /api/marketplace/purchase-requests/archived`
    - `POST /api/marketplace/purchase-requests/bulk-archive`
- **برآورد زمان**: 3-4 ساعت

---

#### وظیفه ۵: تاریخچه پرداخت در وب‌اپ (برای خریدار و فروشنده)
- **مسیر**: `code/backend/src/services/payment/paymentController.ts`
- **توضیحات**:
  - در حال حاضر فقط در مینی‌اپ موجود است
  - نیاز به ایجاد اندپوینت یکپارچه برای تاریخچه پرداخت‌ها
  - نمایش برای هر دو نقش خریدار و فروشنده
- **تغییرات مورد نیاز**:
  - Backend: `GET /api/payment/history` با فیلتر role-based
  - Frontend: صفحه جدید `/dashboard/payment/history`
- **برآورد زمان**: 3 ساعت

---

#### وظیفه ۶: انتقال خودکار درخواست‌های تکمیل شده به آرشیو
- **مسیر**: `code/backend/src/services/marketplace/PurchaseRequestService.ts`
- **توضیحات**:
  - هنگام تغییر وضعیت به `completed`، خودکار به آرشیو منتقل شود
  - در مینی‌اپ صفحه آرشیو اضافه شود
  - جلوگیری از شلوغی لیست اصلی
- **تغییرات مورد نیاز**:
  - Hook در `updatePurchaseRequestStatus` برای آرشیو خودکار
  - اندپوینت مینی‌اپ: `GET /api/telegram/archive`
- **برآورد زمان**: 2 ساعت

---

### 📌 **اولویت متوسط**

#### وظیفه ۳: اصلاح لینک وب‌اپ به تلگرام
- **مسیر**: `code/backend/src/services/telegram/` + Frontend
- **توضیحات**:
  - بررسی و اصلاح لینک‌های تلگرام در وب‌اپ
  - مطمئن شدن از اتصال صحیح مینی‌اپ به بات تلگرام
  - تست کامل flow از وب‌اپ به تلگرام
- **برآورد زمان**: 1-2 ساعت

---

#### وظیفه ۷: ساخت صفحه اصلی مینی‌اپ
- **مسیر**: `code/frontend/src/routes/paths.ts` + Telegram UI
- **توضیحات**:
  - طراحی و پیاده‌سازی صفحه اصلی مینی‌اپ
  - نمایش آیتم‌های کلیدی:
    - آمار کلی (تعداد درخواست‌ها، پرداخت‌ها، نوتیفیکیشن‌ها)
    - اقدامات سریع (دکمه‌های دسترسی سریع)
    - لیست آخرین فعالیت‌ها
    - اعلان‌ها
- **برآورد زمان**: 4 ساعت

---

#### وظیفه ۸: جلوگیری از بازگشت دستیار هوشمند به مینی‌اپ
- **مسیر**: Navigation guards در Frontend
- **توضیحات**:
  - مهندسی معکوس برای جلوگیری از بازگشت AI Assistant به مینی‌اپ
  - بررسی جریان ناوبری در تلگرام
  - اعمال محدودیت‌ها در صورت نیاز
- **برآورد زمان**: 2 ساعت

---

### 🎨 **اولویت پایین**

#### وظیفه ۱۰: باز شدن اپ مانند ولت + ویدیوهای آموزشی
- **توضیحات**:
  - اصلاح UI برای باز شدن مشابه اپ‌های ولت
  - تهیه ویدیوهای آموزشی:
    - کانال فارسی
    - کانال انگلیسی
  - مستندات استفاده از اپ
- **برآورد زمان**: 5 ساعت (شامل تهیه محتوا)

---

## 📊 خلاصه زمانی و اولویت‌ها

| # | وظیفه | اولویت | زمان تخمینی | وضعیت |
|---|--------|--------|--------------|--------|
| 9 | اصلاح خطاهای پرداخت | ⭐⭐⭐⭐⭐ | 2-3 ساعت | ⏳ |
| 1 | فیلتر/مرتب‌سازی فروشندگان | ⭐⭐⭐⭐ | 4-5 ساعت | ⏳ |
| 2 | دسته‌بندی فروشندگان | ⭐⭐⭐⭐ | 3 ساعت | ⏳ |
| 4 | سیستم آرشیو | ⭐⭐⭐⭐ | 3-4 ساعت | ⏳ |
| 5 | تاریخچه پرداخت وب‌اپ | ⭐⭐⭐⭐ | 3 ساعت | ⏳ |
| 6 | آرشیو خودکار درخواست‌ها | ⭐⭐⭐⭐ | 2 ساعت | ⏳ |
| 3 | لینک تلگرام | ⭐⭐⭐ | 1-2 ساعت | ⏳ |
| 7 | صفحه اصلی مینی‌اپ | ⭐⭐⭐ | 4 ساعت | ⏳ |
| 8 | مسدود کردن AI Assistant | ⭐⭐⭐ | 2 ساعت | ⏳ |
| 10 | UI ولت + ویدیوها | ⭐⭐ | 5 ساعت | ⏳ |

** کل زمان تخمینی: ** ~30 ساعت

---

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

### فاز ۱: اصلاحات بحرانی (2-3 روز)
1. وظیفه ۹: اصلاح خطاهای پرداخت
2. وظیفه ۳: لینک تلگرام

### فاز ۲: ویژگی‌های اصلی (3-4 روز)
3. وظیفه ۱: فیلتر و مرتب‌سازی فروشندگان
4. وظیفه ۲: دسته‌بندی فروشندگان
5. وظیفه ۴: سیستم آرشیو
6. وظیفه ۵: تاریخچه پرداخت
7. وظیفه ۶: آرشیو خودکار

### فاز ۳: تجربه کاربری (2-3 روز)
8. وظیفه ۷: صفحه اصلی مینی‌اپ
9. وظیفه ۸: مسدود کردن AI Assistant

### فاز ۴: مستندات و نهایی‌سازی (1 روز)
10. وظیفه ۱۰: ویدیوها و اصلاحات نهایی

---

## 📁 ساختار فایل‌ها و مسیرها

```
code/
├── backend/
│   ├── src/
│   │   ├── db/
│   │   │   └── schema/          # Schemaهای PostgreSQL
│   │   ├── services/
│   │   │   ├── marketplace/     # کنترلرها و سرویس‌های بازار
│   │   │   ├── payment/        # سرویس‌های پرداخت
│   │   │   └── telegram/       # سرویس‌های تلگرام
│   │   └── routes/             # مسیریابی API
│   └── ...
└── frontend/
    ├── src/
    │   ├── routes/              # مسیرهای فرانت‌اند
    │   ├── sections/            # صفحات و کامپوننت‌ها
    │   └── ...
    └── ...
```

---

## 🔧 دستورالعمل‌های فنی

### برای شروع هر وظیفه:
1. branch جدید از `main` ایجاد کنید: `git checkout -b feature/[task-number]-[description]`
2. تغییرات را در smallest possible unit اعمال کنید
3. تست‌های واحد بنویسید
4. بعد از تکمیل، Pull Request ایجاد کنید

### اسم branchها:
- `feature/9-fix-payment-token-errors`
- `feature/1-seller-filter-sort-category`
- `feature/4-archive-functionality`
- و...

---

## 📞 تماس با تیم

- برای سوال در مورد هر وظیفه، در کانال تلگرام پروژه مطرح کنید
- برای بررسی کد، از Pull Request استفاده کنید
- برای تست، از محیط development استفاده کنید

---

*تاریخ ایجاد: 2026-06-07*
*ونیرد: Mistral Vibe*
