canina/docs/backlog.md

13 KiB
Raw Blame History

📋 Backlog & Technical Implementation Tasks (Canina Project)

این سند شامل شکست کامل، دقیق و مهندسی شده تمام درخواست‌های ۱۰ گانه کاربر به تاسک‌های اجرایی تکی (Atomic Tasks) در بخش‌های Frontend (User Site & Admin Panel)، Backend (Prisma & NestJS/Express) و Database می‌باشد.


📍 بخش ۱: فرم تماس با ما & مدیریت اطلاعات تماس و نمایندگی

  • TASK-1.1 [DB & Backend]: ایجاد مدل/جدول ContactSubmission در schema.prisma شامل فیلدهای name phone email subject message status (PENDING, IN_PROGRESS, RESOLVED) adminNotes و createdAt.
  • TASK-1.2 [Backend]: پیاده‌سازی API ثبت فرم تماس POST /api/contact به همراه اعتبارسنجی فیلدها و ثبت در دیتابیس.
  • TASK-1.3 [Backend & SMS]: ارسال SMS تایید ثبت به کاربر (الگوی ثبت پیام) + ارسال SMS اطلاع‌رسانی به مدیر سیستم جهت پیگیری سریع.
  • TASK-1.4 [DB & Backend]: ایجاد مدل/جدول ContactInfo در دیتابیس برای ذخیره‌سازی داینامیک اطلاعات دفتر مرکزی، تلفن‌ها، ایمیل، ساعات کاری و آدرس با قابلیت ویرایش تایتل‌ها و آیکون‌ها.
  • TASK-1.5 [Admin Panel]: ساخت صفحه لیست پیام‌های تماس با ما در پنل ادمین (مشاهده جزئیات، تغییر وضعیت پیگیری و درج یادداشت ادمین).
  • TASK-1.6 [Admin Panel]: مدیریت کامل اطلاعات تماس و نمایندگی در پنل ادمین (ویرایش آدرس، تلفن، ایمیل، ساعات پاسخگویی، آیکون‌ها و متون راهنما).
  • TASK-1.7 [Frontend Site]: متصل کردن فرم تماس با ما در سایت اصلی به API و فراخوانی داینامیک اطلاعات تماس دفتر مرکزی از دیتابیس.

📍 بخش ۲: ارتقا و بهبودهای گسترده پنل ادمین (Admin Panel Enhancements)

📤 اپلود مالتی‌مدیا و سئو (Media, Attachments & SEO)

  • TASK-2.1 [Admin Panel UI]: اضافه کردن قابلیت Drag & Drop به تمامی بخش‌های آپلود تصویر و فایل در پنل ادمین.
  • TASK-2.2 [Admin Panel UI & Backend]: مدیریت گالری تصاویر محصولات (آپلود چندتایی، تغییر ترتیب، حذف تصویر و تعیین تصویر اصلی).
  • TASK-2.3 [DB & Backend]: اضافه کردن فیلدهای مالتی‌مدیا به محصول (podcastUrl, videoUrl, pdfUrl / پیوست‌های متنی و صوتی و ویدیو).
  • TASK-2.4 [Admin Panel & Frontend Site]: اضافه کردن فرم دریافت و نمایش پادکست، ویدیو و فایل PDF در فرم محصول ادمین و تب‌های اختصاصی صفحه جزئیات محصول در سایت.
  • TASK-2.5 [Backend Storage & S3/MinIO]: پیاده‌سازی سرویس ذخیره‌سازی فایل‌های آپلودی بر روی Object Storage (S3/MinIO/Local Persistent) تا با Deployهای CI/CD فایل‌های آپلود شده پاک نشوند.
  • TASK-2.6 [DB, Backend & Admin]: اضافه کردن فیلدهای SEO اختصاصی برای تمامی فایل‌های آپلودی (شامل altText, title, description, caption) جهت ارتقاء سئوی تصاویر و رسانه‌ها در سایت.

💰 اصلاح منطق قیمت‌گذاری (Price Logic Cleanup)

  • TASK-2.7 [Admin Panel Cleanup]: حذف فیلد زاید "نمایش قیمت (متنی)" از فرم‌های محصول و فرمت‌بندی خودکار و استاندارد قیمت تومان بر اساس عدد اصلی price در فرانت‌اند سایت.

🎨 استانداردسازی کامپوننت‌ها و UI پنل ادمین

  • TASK-2.8 [Admin Panel UI]: بازطراحی و استانداردسازی دکمه‌های پنل ادمین (دکمه‌های انتخاب از گالری، حذف، ثبت و...) به صورت کامپوننت Reusable با رعایت whitespace-nowrap و استایل یکپارچه.
  • TASK-2.9 [Admin Panel UI]: بازطراحی کامپوننت Pagination در تمام صفحات ادمین (شامل صفحه اول/آخر، ۲ صفحه قبل/بعد، صفحه فعلی و قابلیت تایپ شماره صفحه جهت هدایت مستقیم).
  • TASK-2.10 [Admin Panel UI]: اضافه کردن Pagination استاندارد به تمام بخش‌های مدیریت گالری رسانه‌ها.

🔐 رفع باگ‌های دسترسی و راهنماهای ادمین (Permissions & Tooltips)

  • TASK-2.11 [Admin Panel & Backend]: بررسی و رفع خطای دسترسی "دسترسی شما به این بخش از پنل ادمین مجاز نمی‌باشد" در بخش CMS و بخش درخواست‌های B2B.
  • TASK-2.12 [Admin Panel UX]: اضافه کردن آیکون علامت سوال (Help Tooltip) و راهنمای شفاف کنار تمامی فیلدها و بخش‌های پنل ادمین جهت راهنمایی کامل ادمین.
  • TASK-2.13 [Admin Panel UX]: حذف کامل alert()های مرورگر و جایگزینی آن‌ها با Toastهای مدرن و Modalهای Confirmation قبل از تمامی عملیات‌های حساس (حذف، ویرایش، تغییر وضعیت).

⚙️ سیستم تنظیمات پیشرفته سایت (Advanced Site Settings)

  • TASK-2.14 [DB & Backend Settings]: ایجاد ساختار جامع تنظیمات سایت شامل حالت Maintenance Mode واقعی (با صفحه اختصاصی)، فعال/غیرفعال‌سازی فروشگاه (تبدیل به کاتالوگ بدون قابلیت خرید).
  • TASK-2.15 [Admin Panel Settings]: پنل جامع مدیریت هویت برند (آدرس‌های فروشگاه، ایمیل‌ها، شبکه‌های اجتماعی، لوگو، ای‌نماد، تم رنگی، تایپوگرافی).
  • TASK-2.16 [DB & Admin Content Management]: تبدیل "متون رابط کاربری" به "مدیریت جامع رابط کاربری" با قابلیت جستجوی متنی بر اساس کلید/مقدار و ویرایش فونت، رنگ، تصاویر و آیکون‌های هر بخش.

🎥 ویدیوها، پزشکان و پروفایل ادمین (Videos, Doctors & Admin Profile)

  • TASK-2.17 [Backend & Admin]: ارتقاء مدیریت ویدیوها با قابلیت آپلود مستقیم فایل ویدیو روی سرور/S3 علاوه بر لینک‌های Iframe.
  • TASK-2.18 [DB, Backend & Admin]: پیاده‌سازی کامل CRUD مدیریت پزشکان/متخصصان (شامل بیوگرافی، تصویر، تخصص) و اتصال پزشک به ویدیوها، مقالات وبلاگ و نظرات کارشناسی محصولات.
  • TASK-2.19 [Admin Header UI]: حذف دکمه خروج از Sidebar و اضافه کردن Dropdown کاربر در بالای صفحه سمت چپ (Header) شامل پروفایل، تنظیمات و خروج.
  • TASK-2.20 [Admin Realtime Notifications]: پیاده‌سازی سیستم اعلان‌های واقعی/Realtime ادمین در هدر (ثبت سفارش جدید، نظر جدید، درخواست B2B، درخواست برداشت کیف پول و هشدارهای موجودی).

📊 داشبورد و آمار واقعی (Dashboard Analytics Fixes)

  • TASK-2.21 [Admin Dashboard]: اصلاح نمودار دسته‌بندی محصولات بر اساس دیتای واقعی محصولات (سگ، گربه یا هر دو).
  • TASK-2.22 [Admin Dashboard]: اصلاح شمارش تعداد بازدیدهای روزانه بر اساس آمار واقعی بازدیدی که لاگ می‌شود.
  • TASK-2.23 [Admin Knowledge Base]: قابلیت انتخاب و کم/زیاد کردن لیست محصولات مرتبط در فرم ویرایش دانشنامه.

🔔 پوش نوتیفیکیشن و سیستم CRM (Push Notifications & CRM)

  • TASK-2.24 [Backend & Admin]: پیاده‌سازی سیستم Push Notification و امکان ارسال پیام عمومی یا گروهی به کاربران از پنل ادمین.
  • TASK-2.25 [Backend CRM & SMS]: پیاده‌سازی ماژول CRM هوشمند برای تحلیل رفتار کاربر (ارسال SMS ترغیب به خرید، بازگشت به سبد خرید رها شده و کمپین‌های تبلیغاتی).

📍 بخش ۳: استانداردسازی دکمه بازگشت (Standard Back Button)

  • TASK-3.1 [Frontend Site UI]: پیاده‌سازی کامپوننت استاندارد و اتمیک BackButton با استفاده از router.back() و حفظ دقیق موقعیت Scroll صفحه قبلی کاربر.

📍 بخش ۴: پایش هوشمند مصرف مکمل‌ها (Smart Supplement Tracker Logic)

  • TASK-4.1 [Backend & Frontend Logic]: بررسی، اصلاح و شفاف‌سازی الگوریتم پایش هوشمند مصرف مکمل‌ها (محاسبه زمان اتمام دوره بر اساس وزن حیوان، دوز مصرفی و ارسال هشدار SMS یادآوری تمدید خرید).

📍 بخش ۵: داشبورد کاربر و کیف پول (User Dashboard & Wallet Security)

  • TASK-5.1 [Frontend Protection]: جلوگیری از دسترسی کاربران غیرلاگین به صفحه داشبورد و هدایت خودکار به صفحه ورود.
  • TASK-5.2 [Frontend Wallet UX]: رفع مشکل نمایش پیام موفقیت کاذب هنگام شارژ کیف پول بدون لاگین و بهینه‌سازی سرعت فرآیند شارژ.
  • TASK-5.3 [Frontend & Backend Wallet]: اصلاح استایل و Layout شارژ کیف پول برای اعداد بزرگ + فعال‌سازی منطق دکمه درخواست برداشت وجه (ثبت درخواست + ارسال SMS به کاربر و مدیر + مدیریت در پنل ادمین).
  • TASK-5.4 [Frontend UX]: بررسی و رفع نمایش نشان "حساب تایید شده" برای کاربران غیر لاگین.

📍 بخش ۶: مدیریت داینامیک آمار خیرخواهانه (Charity Counter Management)

  • TASK-6.1 [DB, Backend & Admin]: اضافه کردن قابلیت مدیریت داینامیک آمار کمک‌های خیرخواهانه (تعداد وعده‌های غذایی تامین شده، تعداد درمان‌ها و...) در پنل ادمین و نمایش دیتای واقعی در سایت.

📍 بخش ۷: بازطراحی صفحه ورود/ثبت‌نام (Login/Register Redesign)

  • TASK-7.1 [Frontend Site UI]: بازطراحی چشم‌نواز و رفع ایرادات UX/UI صفحه ورود و ثبت‌نام کاربر.

📍 بخش ۸: رفع باگ عنوان صفحه محصول (Product Page Title Fix)

  • TASK-8.1 [Frontend Site Fix]: رفع باگ عنوان صفحه محصول (عدم نمایش متن "محصول یافت نشد!" هنگام لود شدن دیتای محصول).

📍 بخش ۹: تنظیمات وب‌سرویس ملی‌پيامک و الگوها (SMS Service Patterns)

  • TASK-9.1 [Backend SMS Service]: ست کردن نام کاربری MELIPAYAMAK_USERNAME = 9364100228 و پیاده‌سازی متدهای ارسال سریع براساس پترن‌های تایید شده:
    • الگوی ۵۰۸۰۷۹ (کد تایید ورود)
    • الگوی ۵۰۸۰۸۱ (ثبت موفق سفارش)
    • الگوی ۵۰۸۰۸۲ (تحویل سفارش به پست)
    • الگوی ۵۰۸۰۸۳ (درخواست جدید همکار B2B)

📍 بخش ۱۰: بهینه‌سازی ورود با OTP و خواندن خودکار SMS

  • TASK-10.1 [Frontend OTP UX]: پشتیبانی کامل از WebOTP API جهت خواندن خودکار کد SMS در موبایل.
  • TASK-10.2 [Frontend OTP UX]: پشتیبانی از Paste یکباره کد ۵ رقمی روی اولین input و توزیع خودکار آن در سایر خانه‌ها.
  • TASK-10.3 [Frontend OTP UX]: ارسال خودکار (Auto Submit) به محض پر شدن خانه پنجم و امکان ویرایش سریع در صورت نادرست بودن کد.