canina/docs/backlog.md

253 lines
24 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

# 📋 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) به فیلدهای کد تخفیف با توضیحات شفاف درباره کارکرد فیلد و تغییرات ناشی از ویرایش آن.
---
## 📍 بخش ۲۵: بازگرداندن Dropdown منوی پروفایل کاربر در هدر (User Profile Pet Dropdown Header)
- [ ] **TASK-25.1 [Frontend Site UI]:** بازگرداندن منوی کشویی پروفایل کاربر در هدر سایت شامل نمایش لیست پت‌های ثبت‌شده، دسترسی سریع به مدیریت پت‌ها و خروج از حساب.
---
## 📍 بخش ۲۶: اصلاح خروج از حساب کاربری در پنل ادمین (Admin Panel Logout & Profile Dropdown)
- [ ] **TASK-26.1 [Admin Panel UI]:** برطرف کردن خطای منوی کشویی پروفایل ادمین در پنل مدیریت و فعال‌سازی کامل دکمه «خروج از حساب».
---
## 📍 بخش ۲۷: مشاهده و ویرایش کامل اطلاعات کاربر در پنل ادمین (Admin Full User Profile View & Edit)
- [ ] **TASK-27.1 [Admin Panel & Backend]:** فراهم کردن امکان مشاهده کلیه اطلاعات کاربر (مشخصات، شماره تماس، آدرس‌ها، پت‌ها) و ویرایش کامل آن‌ها در پنل مدیریت به‌جای تغییر صرف نقش.
---
## 📍 بخش ۲۸: ورود تایپی و مستقیم اعداد در پایش فیزیکی (Direct Numeric Input in Physical Monitoring)
- [ ] **TASK-28.1 [Frontend Site UI]:** اضافه کردن قابلیت ورود تایپی و مستقیم عدد به تمام اینپوت‌های گام دوم پایش فیزیکی در کنار دکمه‌های + و -.
---
## 📍 بخش ۲۹: منطق واقعی و کاربردی پایش هوشمند موجودی مکمل‌ها (Smart Supplement Consumption Tracking Logic)
- [ ] **TASK-29.1 [Frontend & Backend]:** پیاده‌سازی منطق واقعی محاسبه میزان مصرف روزانه براساس سفارشات ثبت‌شده، دوز مصرفی و تعداد باقی‌مانده مکمل کاربر و امکان ثبت دستی مکمل جهت پایش.
---
## 📍 بخش ۳۰: شفاف‌سازی و هندلینگ استاندارد خطاهای پردازش پرداخت (Detailed Checkout Payment Error Toast Fix)
- [ ] **TASK-30.1 [Frontend Site]:** رفع دوبار نمایش داده شدن Toast خطا در زمان ثبت سفارش، دریافت دقیق پیام خطا از پاسخ backend و نمایش پیام شفاف و کاربردی.
---
## 📍 بخش ۳۱: اصلاح عیب‌یابی پرداخت با کیف پول (Wallet Payment Validation & Error Handling)
- [ ] **TASK-31.1 [Backend & Frontend]:** بررسی دقیق پارامترهای پردازش پرداخت کیف پول و نمایش دقیق فیلد یا علت نامعتبر بودن درخواست به کاربر.
---
## 📍 بخش ۳۲: اصلاح فرآیند ذخیره و نمایش آدرس جدید (Address Creation Double Toast & List Sync Fix)
- [ ] **TASK-32.1 [Frontend Site]:** برطرف کردن خطای `property addresses should not exist` در ثبت آدرس، حذف Toastهای تکراری و به‌روزرسانی آنی لیست آدرس‌های منتخب کاربر در تسویه‌حساب.
---
## 📍 بخش ۳۳: اعمال هزینه واقعی ارسال سفارشی و پیک در تسویه‌حساب (Shipping Cost Admin Sync)
- [ ] **TASK-33.1 [Backend & Frontend]:** خواندن هزینه ارسال تنظیم‌شده در پنل ادمین (مثلاً ۱۰۰,۰۰۰ تومان) و محاسبه دقیق آن در فاکتور نهایی تسویه‌حساب به‌جای رایگان فرض کردن آن.
---
## 📍 بخش ۳۴: پاک‌سازی عبارت‌های فنی (TASK-X) از عنوان‌های پنل ادمین (Admin Titles Clean-up)
- [ ] **TASK-34.1 [Admin Panel UI]:** حذف کدهای شناسه تاسک (`TASK-2.15` و غیره) از تمام عنوان‌ها و صفحات پنل مدیریت ادمین.
---
## 📍 بخش ۳۵: اصلاح عملکرد واقعی حالت تعمیرات (Real Maintenance Mode Enforcement)
- [ ] **TASK-35.1 [Frontend Site]:** اصلاح بررسی حالت تعمیرات (Maintenance Mode) در `ClientLayout` به‌طوری‌که حتی کاربران لاگین‌شده معمولی نیز صفحه Coming Soon را مشاهده کنند و صرفاً ادمین مجاز به عبور باشد.
---
## 📍 بخش ۳۶: تفکیک دقیق گزینه‌های حالت کاتالوگ و پیش‌خرید (Granular Catalog Mode Sub-options & Pre-order Button)
- [ ] **TASK-36.1 [Admin Panel & Frontend]:** پیاده‌سازی زیرگزینه‌های کاتالوگ‌مود (غیرفعال‌سازی ثبت سفارش، جایگزینی دکمه پیش‌خرید به‌جای خرید، غیرفعال‌سازی قیمت و سبد) در تنظیمات ادمین و اعمال آن در فرانت‌اند.
---
## 📍 بخش ۳۷: سیستم پیش‌خرید محصولات رایگان یا بیعانه‌ای (Pre-order System with SMS Notification)
- [ ] **TASK-37.1 [DB, Backend & Frontend]:** ساخت سیستم پیش‌خرید محصولات Coming Soon (رایگان یا با بیعانه) و ارسال پیامک خودکار به کاربر هنگام موجود شدن و قیمت‌گذاری کالا جهت تکمیل سفارش.
---
## 📍 بخش ۳۸: صف خودکار «موجود شد مطلعم کن» با ارسال پیامک (Out-of-Stock Notification Queue & SMS)
- [ ] **TASK-38.1 [DB, Backend & Frontend]:** ایجاد دکمه «موجود شد خبرم کن» برای کالاهای ناموجود، ثبت کاربر در صف (Queue) و ارسال خودکار پیامک هنگام افزایش موجودی کالا به بالای ۰.