241 lines
10 KiB
Markdown
241 lines
10 KiB
Markdown
# 📋 فهرست وظایف پروژه 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*
|