From d93b48916d4807e7fdee2bbba18c99e1a7bff59a Mon Sep 17 00:00:00 2001 From: moojttaba Date: Sun, 7 Jun 2026 12:59:13 +0330 Subject: [PATCH] add initial task list and project structure for AMN Marketplace --- 2026-06-07.md | 0 TASKS.md | 240 ++++++++++++++++++++++++++++++++++++++++++++++++++ Untitled.base | 3 + 3 files changed, 243 insertions(+) create mode 100644 2026-06-07.md create mode 100644 TASKS.md create mode 100644 Untitled.base diff --git a/2026-06-07.md b/2026-06-07.md new file mode 100644 index 0000000..e69de29 diff --git a/TASKS.md b/TASKS.md new file mode 100644 index 0000000..e91e77c --- /dev/null +++ b/TASKS.md @@ -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* diff --git a/Untitled.base b/Untitled.base new file mode 100644 index 0000000..c6ab609 --- /dev/null +++ b/Untitled.base @@ -0,0 +1,3 @@ +views: + - type: table + name: Table