222 lines
26 KiB
Markdown
222 lines
26 KiB
Markdown
# 📋 Backlog & Technical Implementation Tasks (Canina Project)
|
||
|
||
این سند شامل شکست کامل، دقیق و مهندسی شده تمام درخواستهای ۱۰ گانه کاربر به تاسکهای اجرایی تکی (Atomic Tasks) در بخشهای Frontend (User Site & Admin Panel)، Backend (Prisma & NestJS/Express) و Database میباشد.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۱: فرم تماس با ما & مدیریت اطلاعات تماس و نمایندگی
|
||
- [x] **TASK-1.1 [DB & Backend]:** ایجاد مدل/جدول `ContactSubmission` در schema.prisma شامل فیلدهای `name` `phone` `email` `subject` `message` `status` (PENDING, IN_PROGRESS, RESOLVED) `adminNotes` و `createdAt`.
|
||
- [x] **TASK-1.2 [Backend]:** پیادهسازی API ثبت فرم تماس `POST /api/contact` به همراه اعتبارسنجی فیلدها و ثبت در دیتابیس.
|
||
- [x] **TASK-1.3 [Backend & SMS]:** ارسال SMS تایید ثبت به کاربر (الگوی ثبت پیام) + ارسال SMS اطلاعرسانی به مدیر سیستم جهت پیگیری سریع.
|
||
- [x] **TASK-1.4 [DB & Backend]:** ایجاد مدل/جدول `ContactInfo` در دیتابیس برای ذخیرهسازی داینامیک اطلاعات دفتر مرکزی، تلفنها، ایمیل، ساعات کاری و آدرس با قابلیت ویرایش تایتلها و آیکونها.
|
||
- [x] **TASK-1.5 [Admin Panel]:** ساخت صفحه لیست پیامهای تماس با ما در پنل ادمین (مشاهده جزئیات، تغییر وضعیت پیگیری و درج یادداشت ادمین).
|
||
- [x] **TASK-1.6 [Admin Panel]:** مدیریت کامل اطلاعات تماس و نمایندگی در پنل ادمین (ویرایش آدرس، تلفن، ایمیل، ساعات پاسخگویی، آیکونها و متون راهنما).
|
||
- [x] **TASK-1.7 [Frontend Site]:** متصل کردن فرم تماس با ما در سایت اصلی به API و فراخوانی داینامیک اطلاعات تماس دفتر مرکزی از دیتابیس.
|
||
|
||
|
||
---
|
||
|
||
## 📍 بخش ۲: ارتقا و بهبودهای گسترده پنل ادمین (Admin Panel Enhancements)
|
||
|
||
### 📤 اپلود مالتیمدیا و سئو (Media, Attachments & SEO)
|
||
- [x] **TASK-2.1 [Admin Panel UI]:** اضافه کردن قابلیت **Drag & Drop** به تمامی بخشهای آپلود تصویر و فایل در پنل ادمین.
|
||
- [x] **TASK-2.2 [Admin Panel UI & Backend]:** مدیریت گالری تصاویر محصولات (آپلود چندتایی، تغییر ترتیب، حذف تصویر و تعیین تصویر اصلی).
|
||
- [x] **TASK-2.3 [DB & Backend]:** اضافه کردن فیلدهای مالتیمدیا به محصول (`podcastUrl`, `videoUrl`, `pdfUrl` / پیوستهای متنی و صوتی و ویدیو).
|
||
- [x] **TASK-2.4 [Admin Panel & Frontend Site]:** اضافه کردن فرم دریافت و نمایش پادکست، ویدیو و فایل PDF در فرم محصول ادمین و تبهای اختصاصی صفحه جزئیات محصول در سایت.
|
||
- [x] **TASK-2.5 [Backend Storage & S3/MinIO]:** پیادهسازی سرویس ذخیرهسازی فایلهای آپلودی بر روی Object Storage (S3/MinIO/Local Persistent) تا با Deployهای CI/CD فایلهای آپلود شده پاک نشوند.
|
||
- [x] **TASK-2.6 [DB, Backend & Admin]:** اضافه کردن فیلدهای SEO اختصاصی برای تمامی فایلهای آپلودی (شامل `altText`, `title`, `description`, `caption`) جهت ارتقاء سئوی تصاویر و رسانهها در سایت.
|
||
|
||
### 💰 اصلاح منطق قیمتگذاری (Price Logic Cleanup)
|
||
- [x] **TASK-2.7 [Admin Panel Cleanup]:** حذف فیلد زاید "نمایش قیمت (متنی)" از فرمهای محصول و فرمتبندی خودکار و استاندارد قیمت تومان بر اساس عدد اصلی `price` در فرانتاند سایت.
|
||
|
||
### 🎨 استانداردسازی کامپوننتها و UI پنل ادمین
|
||
- [x] **TASK-2.8 [Admin Panel UI]:** بازطراحی و استانداردسازی دکمههای پنل ادمین (دکمههای انتخاب از گالری، حذف، ثبت و...) به صورت کامپوننت Reusable با رعایت `whitespace-nowrap` و استایل یکپارچه.
|
||
- [x] **TASK-2.9 [Admin Panel UI]:** بازطراحی کامپوننت Pagination در تمام صفحات ادمین (شامل صفحه اول/آخر، ۲ صفحه قبل/بعد، صفحه فعلی و قابلیت تایپ شماره صفحه جهت هدایت مستقیم).
|
||
- [x] **TASK-2.10 [Admin Panel UI]:** اضافه کردن Pagination استاندارد به تمام بخشهای مدیریت گالری رسانهها.
|
||
|
||
### 🔐 رفع باگهای دسترسی و راهنماهای ادمین (Permissions & Tooltips)
|
||
- [x] **TASK-2.11 [Admin Panel & Backend]:** بررسی و رفع خطای دسترسی "دسترسی شما به این بخش از پنل ادمین مجاز نمیباشد" در بخش CMS و بخش درخواستهای B2B.
|
||
- [x] **TASK-2.12 [Admin Panel UX]:** اضافه کردن آیکون علامت سوال (Help Tooltip) و راهنمای شفاف کنار تمامی فیلدها و بخشهای پنل ادمین جهت راهنمایی کامل ادمین.
|
||
- [x] **TASK-2.13 [Admin Panel UX]:** حذف کامل `alert()`های مرورگر و جایگزینی آنها با Toastهای مدرن و Modalهای Confirmation قبل از تمامی عملیاتهای حساس (حذف، ویرایش، تغییر وضعیت).
|
||
|
||
### ⚙️ سیستم تنظیمات پیشرفته سایت (Advanced Site Settings)
|
||
- [x] **TASK-2.14 [DB & Backend Settings]:** ایجاد ساختار جامع تنظیمات سایت شامل حالت Maintenance Mode واقعی (با صفحه اختصاصی)، فعال/غیرفعالسازی فروشگاه (تبدیل به کاتالوگ بدون قابلیت خرید).
|
||
- [x] **TASK-2.15 [Admin Panel Settings]:** پنل جامع مدیریت هویت برند (آدرسهای فروشگاه، ایمیلها، شبکههای اجتماعی، لوگو، اینماد، تم رنگی، تایپوگرافی).
|
||
- [x] **TASK-2.16 [DB & Admin Content Management]:** تبدیل "متون رابط کاربری" به "مدیریت جامع رابط کاربری" با قابلیت جستجوی متنی بر اساس کلید/مقدار و ویرایش فونت، رنگ، تصاویر و آیکونهای هر بخش.
|
||
|
||
### 🎥 ویدیوها، پزشکان و پروفایل ادمین (Videos, Doctors & Admin Profile)
|
||
- [x] **TASK-2.17 [Backend & Admin]:** ارتقاء مدیریت ویدیوها با قابلیت آپلود مستقیم فایل ویدیو روی سرور/S3 علاوه بر لینکهای Iframe.
|
||
- [x] **TASK-2.18 [DB, Backend & Admin]:** پیادهسازی کامل CRUD مدیریت پزشکان/متخصصان (شامل بیوگرافی، تصویر، تخصص) و اتصال پزشک به ویدیوها، مقالات وبلاگ و نظرات کارشناسی محصولات.
|
||
- [x] **TASK-2.19 [Admin Header UI]:** حذف دکمه خروج از Sidebar و اضافه کردن Dropdown کاربر در بالای صفحه سمت چپ (Header) شامل پروفایل، تنظیمات و خروج.
|
||
- [x] **TASK-2.20 [Admin Realtime Notifications]:** پیادهسازی سیستم اعلانهای واقعی/Realtime ادمین در هدر (ثبت سفارش جدید، نظر جدید، درخواست B2B، درخواست برداشت کیف پول و هشدارهای موجودی).
|
||
|
||
### 📊 داشبورد و آمار واقعی (Dashboard Analytics Fixes)
|
||
- [x] **TASK-2.21 [Admin Dashboard]:** اصلاح نمودار دستهبندی محصولات بر اساس دیتای واقعی محصولات (سگ، گربه یا هر دو).
|
||
- [x] **TASK-2.22 [Admin Dashboard]:** اصلاح شمارش تعداد بازدیدهای روزانه بر اساس آمار واقعی بازدیدی که لاگ میشود.
|
||
- [x] **TASK-2.23 [Admin Knowledge Base]:** قابلیت انتخاب و کم/زیاد کردن لیست محصولات مرتبط در فرم ویرایش دانشنامه.
|
||
|
||
### 🔔 پوش نوتیفیکیشن و سیستم CRM (Push Notifications & CRM)
|
||
- [x] **TASK-2.24 [Backend & Admin]:** پیادهسازی سیستم Push Notification و امکان ارسال پیام عمومی یا گروهی به کاربران از پنل ادمین.
|
||
- [x] **TASK-2.25 [Backend CRM & SMS]:** پیادهسازی ماژول CRM هوشمند برای تحلیل رفتار کاربر (ارسال SMS ترغیب به خرید، بازگشت به سبد خرید رها شده و کمپینهای تبلیغاتی).
|
||
|
||
---
|
||
|
||
## 📍 بخش ۳: استانداردسازی دکمه بازگشت (Standard Back Button)
|
||
- [x] **TASK-3.1 [Frontend Site UI]:** پیادهسازی کامپوننت استاندارد و اتمیک BackButton با استفاده از `router.back()` و حفظ دقیق موقعیت Scroll صفحه قبلی کاربر.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۴: پایش هوشمند مصرف مکملها (Smart Supplement Tracker Logic)
|
||
- [x] **TASK-4.1 [Backend & Frontend Logic]:** بررسی، اصلاح و شفافسازی الگوریتم پایش هوشمند مصرف مکملها (محاسبه زمان اتمام دوره بر اساس وزن حیوان، دوز مصرفی و ارسال هشدار SMS یادآوری تمدید خرید).
|
||
|
||
---
|
||
|
||
## 📍 بخش ۵: داشبورد کاربر و کیف پول (User Dashboard & Wallet Security)
|
||
- [x] **TASK-5.1 [Frontend Protection]:** جلوگیری از دسترسی کاربران غیرلاگین به صفحه داشبورد و هدایت خودکار به صفحه ورود.
|
||
- [x] **TASK-5.2 [Frontend Wallet UX]:** رفع مشکل نمایش پیام موفقیت کاذب هنگام شارژ کیف پول بدون لاگین و بهینهسازی سرعت فرآیند شارژ.
|
||
- [x] **TASK-5.3 [Frontend & Backend Wallet]:** اصلاح استایل و Layout شارژ کیف پول برای اعداد بزرگ + فعالسازی منطق دکمه درخواست برداشت وجه (ثبت درخواست + ارسال SMS به کاربر و مدیر + مدیریت در پنل ادمین).
|
||
- [x] **TASK-5.4 [Frontend UX]:** بررسی و رفع نمایش نشان "حساب تایید شده" برای کاربران غیر لاگین.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۶: مدیریت داینامیک آمار خیرخواهانه (Charity Counter Management)
|
||
- [x] **TASK-6.1 [DB, Backend & Admin]:** اضافه کردن قابلیت مدیریت داینامیک آمار کمکهای خیرخواهانه (تعداد وعدههای غذایی تامین شده، تعداد درمانها و...) در پنل ادمین و نمایش دیتای واقعی در سایت.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۷: بازطراحی صفحه ورود/ثبتنام (Login/Register Redesign)
|
||
- [x] **TASK-7.1 [Frontend Site UI]:** بازطراحی چشمنواز و رفع ایرادات UX/UI صفحه ورود و ثبتنام کاربر.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۸: رفع باگ عنوان صفحه محصول (Product Page Title Fix)
|
||
- [x] **TASK-8.1 [Frontend Site Fix]:** رفع باگ عنوان صفحه محصول (عدم نمایش متن "محصول یافت نشد!" هنگام لود شدن دیتای محصول).
|
||
|
||
---
|
||
|
||
## 📍 بخش ۹: تنظیمات وبسرویس ملیپيامک و الگوها (SMS Service Patterns)
|
||
- [x] **TASK-9.1 [Backend SMS Service]:** ست کردن نام کاربری `MELIPAYAMAK_USERNAME = 9364100228` و پیادهسازی متدهای ارسال سریع براساس پترنهای تایید شده:
|
||
- الگوی ۵۰۸۰۷۹ (کد تایید ورود)
|
||
- الگوی ۵۰۸۰۸۱ (ثبت موفق سفارش)
|
||
- الگوی ۵۰۸۰۸۲ (تحویل سفارش به پست)
|
||
- الگوی ۵۰۸۰۸۳ (درخواست جدید همکار B2B)
|
||
|
||
---
|
||
|
||
## 📍 بخش ۱۰: بهینهسازی ورود با OTP و خواندن خودکار SMS
|
||
- [x] **TASK-10.1 [Frontend OTP UX]:** پشتیبانی کامل از WebOTP API جهت خواندن خودکار کد SMS در موبایل.
|
||
- [x] **TASK-10.2 [Frontend OTP UX]:** پشتیبانی از Paste یکباره کد ۵ رقمی روی اولین input و توزیع خودکار آن در سایر خانهها.
|
||
- [x] **TASK-10.3 [Frontend OTP UX]:** ارسال خودکار (Auto Submit) به محض پر شدن خانه پنجم و امکان ویرایش سریع در صورت نادرست بودن کد.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۱۱: مرتبسازی پیشرفته لیست محصولات (Product Sorting)
|
||
- [x] **TASK-11.1 [Frontend Site UI & Service]:** پیادهسازی گزینههای مرتبسازی در صفحه محصولات (محبوبترین، جدیدترین، ارزانترین، گرانترین، پرفروشترین) و اعمال داینامیک آن در پارامترهای API.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۱۲: بستن خودکار مودالها و دراورها با کلیک بیرونی (Outside Click Backdrop Dismissal)
|
||
- [x] **TASK-12.1 [Frontend Site UX]:** اضافه کردن Event Listener و Backdrop Click به تمام کشوها (Drawers)، فیلترهای نسخه موبایل، منوهای کشویی و مودالها جهت بستن خودکار با کلیک روی فضای بیرونی.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۱۳: بهبود و شفافسازی پیامهای خطا و اعتبارسنجی فرآیند ورود (Detailed Errors & Login Redirect Modals)
|
||
- [x] **TASK-13.1 [Backend & Frontend]:** تبدیل خطاهای کلی سیستم به پیامهای فیلدی مشخص (Field-level Validation Errors) و باز کردن خودکار Login Modal بهجای نمایش پیام متنی عدم دسترسی.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۱۴: اصلاح عدم نمایش پیامهای فرم تماس در پنل ادمین (Contact Form Submissions Sync)
|
||
- [x] **TASK-14.1 [Backend & Admin Panel]:** بررسی و رفع خطای عدم ثبت یا عدم فراخوانی پیامهای فرم تماس با ما در پنل ادمین و بهروزرسانی جدول مربوطه.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۱۵: عیبیابی و فعالسازی کامل سرویس SMS (MeliPayamak Integration Fix)
|
||
- [x] **TASK-15.1 [Backend SMS Service]:** بررسی لایههای فراخوانی وبسرویس ملیپیامک، رفع مشکل عدم ارسال پیامکها و ثبت لاگ ارسال جهت اطمینان از تحویل به خطوط کاربران و ادمین.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۱۶: بنر نوار متحرک و اسلاید شو هدر (Sliding Announcement Ticker Banner)
|
||
- [x] **TASK-16.1 [Frontend Site UI]:** پیادهسازی بنر نوار متحرک (Marquee / News Ticker Style) در بالای هدر سایت جهت نمایش روان متون و اطلاعیههای طولانی بدون قطع شدن متن.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۱۷: مدریت پیشرفته کاتالوگمود و حالت صیانت/تعمیرات (Granular Maintenance & Catalog Mode Sub-Settings)
|
||
- [x] **TASK-17.1 [DB, Backend & Admin Panel]:** پیادهسازی زیرتیکهای هوشمند برای Catalog Mode (اختیاری کردن نمایش قیمت، غیرفعالسازی سبد خرید، غیرفعالسازی تسویهحساب) + فعالسازی واقعی Maintenance Mode و نمایش صفحه Coming Soon برای کاربران غیر ادمین.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۱۸: محاسبات دقیق دوز مصرفی در محاسبهگر مکمل (Dynamic Product Dosage Calculator Fields)
|
||
- [x] **TASK-18.1 [DB, Backend & Admin Panel]:** اضافه کردن فیلدهای متغیر و جدول منطق دوز مصرفی در فرم محصول پنل ادمین و متصل کردن محاسبات Calculator به مقادیر واقعی ثبتشده در دیتابیس.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۱۹: مخفیسازی قیمتهای B2B از API فرانتاند اصلی (B2B Price Security Scoping)
|
||
- [x] **TASK-19.1 [Backend Security]:** حذف فیلد `wholesalePrice` از Responseهای عمومی API محصولات فرانتاند و محدود کردن آن صرفاً به کاربران احرازهویتشده با نقش B2B.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۲۰: جستجو و انتخاب هوشمند علائم درمانی محصولات (Selective Auto-Complete Symptoms Tagging)
|
||
- [x] **TASK-20.1 [Admin Panel UI & Backend]:** ساخت کامپوننت Auto-Complete چندتایی برای علائم درمانی محصول در پنل ادمین با امکان انتخاب از علائم موجود و درج آنی علائم جدید.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۲۱: آپلود فایل با Drag & Drop در مدیریت رسانه (File Manager Drag & Drop Upload)
|
||
- [x] **TASK-21.1 [Admin Panel UI]:** اضافه کردن لایه Dropzone و قابلیت Drag & Drop به مرکز مدیریت رسانه (Media Manager) پنل ادمین.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۲۲: پشتیبانی دوگانه از لینک و فایلمنجر برای پیوستهای چندرسانهای (Dual Link & FileManager Media Attachments)
|
||
- [x] **TASK-22.1 [Admin Panel UI & DB]:** فراهم کردن امکان انتخاب پیوستهای مالتیمدیا هم از طریق درج لینک مستقیم URL و هم انتخاب مستقیم از فایلمنجر پنل ادمین.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۲۳: سیستم تخفیفهای پیشرفته و چندحالته (Advanced Flexible Discount Rules System)
|
||
- [x] **TASK-23.1 [DB, Backend & Admin Panel]:** پیادهسازی منطق تخفیف درصدی یا عددی ثابت روی یک محصول، دستهبندی خاص یا نوع حیوان (سگ / گربه) در سیستم کد تخفیف و دیتابیس.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۲۴: آیکون راهنما و Tooltip کدهای تخفیف (Discount Code Field Info Tooltip)
|
||
- [x] **TASK-24.1 [Admin Panel & Frontend UI]:** اضافه کردن آیکون راهنما (Info Tooltip) به فیلدهای کد تخفیف با توضیحات شفاف درباره کارکرد فیلد و تغییرات ناشی از ویرایش آن.
|
||
---
|
||
|
||
## 📍 بخش ۲۵: بازبینی، اصلاح خطاها و توسعه قابلیتهای درخواستی جدید (Batch Tasks 25.1 - 25.14)
|
||
- [x] **TASK-25.1 [Frontend Header Dropdown]:** بازگرداندن Dropdown سریع اطلاعات کاربری و لیست پتها در هدر اصلی فرانتاند (Header Profile Dropdown with Pets List).
|
||
- [x] **TASK-25.2 [Admin Panel Topbar]:** اصلاح کارکرد دکمه «خروج از حساب» در Dropdown پروفایل ادمین پنل (Fix Logout Handler in Admin Topbar).
|
||
- [x] **TASK-25.3 [Admin Panel Users Page]:** تکمیل مدیریت کامل کاربران (مشاهده تمامی فیلدها، ویرایش اطلاعات کاربر، تغییر نقش، مسدودی و...).
|
||
- [x] **TASK-25.4 [Health Calculator UI]:** اصلاح فیلدهای گام دوم پایش فیزیکی در چکآپ سلامت جهت امکان تایپ مستقیم عددی علاوه بر دکمههای کم و زیاد.
|
||
- [x] **TASK-25.5 [Health Supplement Tracking Logic]:** پیادهسازی کامل منطق و الگوریتم پایش موجودی مکملها براساس تاریخ مصرف و سفارشات واقعی پت.
|
||
- [x] **TASK-25.6 [Backend Exception & Error Handling System]:** اصلاح منطق پاسخدهی خطاهای بهینهشده به تفکیک پارامترها و جلوگیری از نمایش پیامهای کلی غیرمنتظره و توستهای تکراری.
|
||
- [x] **TASK-25.7 [Wallet Checkout Error Handling]:** اصلاح هندلینگ خطای ورودی هنگام پرداخت با کیف پول و نمایش دقیق فیلد یا دلیل خطای پرداخت.
|
||
- [x] **TASK-25.8 [Address Add & Refresh Bug Fix]:** رفع مشکل خطای اضافه کردن آدرس، جلوگیری از نمایش توستهای تکراری و بروزرسانی خودکار لیست آدرسهای کاربر.
|
||
- [x] **TASK-25.9 [Shipping Fee Calculation Fix]:** برطرف کردن خطای محاسبه هزینه ثابت ارسال در فاکتور و فاز تسویهحساب براساس تنظیمات پنل ادمین.
|
||
- [x] **TASK-25.10 [Admin Panel UI Cleanup]:** پاکسازی پسوند کد تپکها یا کدهای درون پرانتز (مانند TASK-x) از عناوین صفحات و منوهای پنل ادمین.
|
||
- [x] **TASK-25.11 [Maintenance Mode Protection Guard]:** اصلاح و فعالسازی عملکرد گارد «حالت تعمیرات» (Maintenance Mode) در فرانتاند برای مسدودسازی دسترسی عمومی.
|
||
- [x] **TASK-25.12 [Flexible Catalog-Only Mode Settings]:** توسعه تنظیمات چندحالته «حالت کاتالوگ» (نمایش/عدم نمایش قیمت، فعال/غیرفعالسازی سبد خرید و فاکتور، تبدیل به پیشخرید).
|
||
- [x] **TASK-25.13 [Product Pre-order System]:** ایجاد امکان پیشخرید کالا در پنل ادمین (رایگان یا با بیعانه) و ثبت نهایی بعد از موجود شدن.
|
||
- [x] **TASK-25.14 [Stock Alert Queue & SMS Notification]:** ایجاد قابلیت «موجود شد اطلاع بده» برای کالاهای ناموجود، صف خودکار اطلاعرسانی و ارسال پیامک به محض شارژ موجودی.
|
||
|
||
---
|
||
|
||
## 📍 بخش ۲۶: اصلاحات معماری، امنیتی و بهینهسازی سیستم (Batch Tasks 26.1 - 26.20)
|
||
- [ ] **TASK-26.1 [NestJS Config Module Validation]:** افزودن `@nestjs/config` به بکاند و اعتبارسنجی متغیرهای محیطی در زمان Boot سرور.
|
||
- [ ] **TASK-26.2 [Unit & E2E Financial Test Coverage]:** تکمیل پوشش تستهای مالی کیفپول و ثبت سفارشات در بکاند.
|
||
- [ ] **TASK-26.3 [Prisma Enums Refactoring]:** جایگزینی رشتههای VarChar با Prisma Enums برای مناسب پت، وضعیت سفارش و نقشها.
|
||
- [x] **TASK-26.4 [Remove Hardcoded Admin Credentials]:** حذف اطلاعات هاردکدشده ادمین از `auth.service.ts` و انتقال به دیتابیس با پسورد هششده.
|
||
- [x] **TASK-26.5 [Remove OTP Console Log]:** حذف لاگ شدن کد OTP در کنسول سرور جهت جلوگیری از افشای امنیتی.
|
||
- [ ] **TASK-26.6 [JWT Refresh Token Implementation]:** پیادهسازی مکانیزم کامل Refresh Token برای تمدید خودکار نشست کاربر.
|
||
- [ ] **TASK-26.7 [SSR & HttpOnly Cookie Auth]:** ذخیره توکنها درون HttpOnly Cookie جهت همگامسازی کامل Server & Client Components در Next.js.
|
||
- [x] **TASK-26.8 [Logout State Cleanup]:** پاکسازی کامل کاتالوگ، سبد خرید و تمام کشهای کاربر هنگام خروج (Logout Cleanup).
|
||
- [x] **TASK-26.9 [Admin Token Validation Guard]:** اعتبارسنجی واقعی توکن ادمین در `ProtectedRoute.tsx` از طریق فراخوانی API پروفایل در هنگام لود پنل.
|
||
- [x] **TASK-26.10 [Fix Pagination & Search Query Overwrite]:** اصلاح منطق `whereClause` در `products.service.ts` جهت جلوگیری از اوررایت شدن فیلترها.
|
||
- [x] **TASK-26.11 [Price Range & Sorting Filters]:** افزودن فیلتر محدوده قیمت (`minPrice`, `maxPrice`) و مرتبسازی (`sort`) به DTO و اندپویینتهای محصولات.
|
||
- [ ] **TASK-26.12 [Sync Fallback IDs with Database]:** همگامسازی شناسه محصولات استاتیک فرانتاند با دیتابیس واقعی جهت جلوگیری از 404 در سفارش.
|
||
- [ ] **TASK-26.13 [Admin Products Table Pagination]:** پیادهسازی پجینیشن سرورساید کامل در جدول مدیریت محصولات پنل ادمین.
|
||
- [x] **TASK-26.14 [Admin Wallet Adjust Endpoint]:** ایجاد اندپویینت `POST /api/users/:id/wallet-adjust` و فرم شارژ/کسر مستقیم کیفپول در پنل ادمین.
|
||
- [x] **TASK-26.15 [Admin User Details, Addresses & Transactions Modal]:** امکان مشاهده کامل آدرسها و ریزتراکنشهای کیفپول کاربر در پنل ادمین.
|
||
- [x] **TASK-26.16 [Atomic Prisma Transaction for Wallet Top-up]:** اتمیک کردن عملیات شارژ کیفپول در دیتابیس با `prisma.$transaction`.
|
||
- [x] **TASK-26.17 [Admin Pet Health Records & Pagination]:** امکان مشاهده پرونده پزشکی، یادآورها و لاگهای سلامت پت در پنل ادمین همراه با پجینیشن کامل لیست پتها.
|
||
- [ ] **TASK-26.18 [Pet Image File Upload]:** امکان آپلود مستقیم فایل تصویر پت به سرور در فرمهای فرانتاند.
|
||
- [x] **TASK-26.19 [Atomic Order Creation Transaction & Refill Cron Job]:** اتمیک کردن ساخت سفارش با کیفپول در بکاند و ایجاد Cron Job روزانه برای پیامک خودکار یادآوری Refill.
|
||
- [ ] **TASK-26.20 [Reports Excel Export, Dashboard Live Chart & Video View Counter]:** افزودن قابلیت دانلود خروجی اکسل در صفحه گزارشات، اتصال نمودار داشبورد به دیتای واقعی و ارسال درخواست PATCH افزایش بازدید ویدیوها.
|
||
|