Files
nick-doc/TASKS.md

241 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📋 فهرست وظایف پروژه 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*