add initial task list and project structure for AMN Marketplace
This commit is contained in:
0
2026-06-07.md
Normal file
0
2026-06-07.md
Normal file
240
TASKS.md
Normal file
240
TASKS.md
Normal file
@@ -0,0 +1,240 @@
|
|||||||
|
# 📋 فهرست وظایف پروژه 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*
|
||||||
3
Untitled.base
Normal file
3
Untitled.base
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
views:
|
||||||
|
- type: table
|
||||||
|
name: Table
|
||||||
Reference in New Issue
Block a user