01244f426e
New documents: - roadmap/FEATURE-BACKLOG.md: 12 kept RPCs → feature tasks with priority, target pages, and time estimates (F1-F12) - roadmap/PACKAGE-TRANSFORMATION-UX.md: UX impact analysis — before/after wireframes for 19 pages (10 FO + 9 BO), customer + admin experience changes, future needs prediction - roadmap/PACKAGE-TRANSFORMATION-TASKS.md: step-by-step implementation plan (6 phases, ~13 day critical path), atomic tasks with code diffs, dependency graph, test checklist Updated: - cms/GRPC-SERVICES-AUDIT.md: cross-references to new docs Total: 998 lines of documentation covering: - 12 RPC feature tasks prioritized by package-based relevance - 19 page wireframes (before/after comparison) - 39 transformation tasks broken into 6 phases - 10 predicted future requirements (N1-N10) - Risk analysis + rollback plan + calendar
30 KiB
30 KiB
🏗️ تحلیل تحول پکیجبیس — تاثیر بر تجربه کاربر (UX)
وضعیت: در حال تحلیل
تاریخ: ۱۴۰۴/۱۲/۰۶
پیشنیاز: BIZ-PACKAGE-BASED-SYSTEM.md v2
هدف: مستندسازی تاثیر تغییر رویکرد پکیجبیس بر تجربه مشتری و ادمین در فرانتها
فهرست
- چشمانداز کلی
- تجربه مشتری (FrontOffice) — قبل و بعد
- تجربه ادمین (BackOffice) — قبل و بعد
- تسکهای تحول — مرحلهبهمرحله
- پیشبینی نیازمندیهای آینده
- ماتریس تاثیرگذاری بر صفحات
۱. چشمانداز کلی
فلسفه تغییر
| بُعد | فعلی (تکپکیج) | هدف (چندپکیج) |
|---|---|---|
| مدل قیمتی | فقط ۵۶M تومان — "همه یا هیچ" | سطوح متنوع (نقرهای ۵.۶M, پایه ۵۶M, ...) — "ورود تدریجی" |
| تجربه ورود | سنگین — کاربر باید ۵۶M بپردازد | سبک — شروع از ۵.۶M و ارتقا بعدی |
| چرخه عمر | یکبار خرید → برای همیشه | چندبار خرید → هر چرخه Magic Wallet |
| فیچرها | ثابت — همه فیچرها برای همه | پویا — هر پکیج فیچرهای خودش |
| کمیسیون | یک Pool مشترک | Pool جداگانه هر پکیج |
| مدیریت | hardcoded — تغییر = deploy | داینامیک — ادمین از پنل تغییر میدهد |
چه کسانی تاثیر میبینند؟
👤 مشتری (FrontOffice):
├── ثبتنامکننده جدید: گزینههای بیشتر → تصمیمگیری آسانتر
├── مشتری فعال: دکمه "ارتقا" + "خرید مجدد"
└── مشتری Magic: نمایش پیشرفت چرخه + آمادهسازی خرید بعدی
👔 ادمین (BackOffice):
├── مدیر محصول: CRUD پکیج + ماتریس فیچر
├── مدیر مالی: Commission Pool جداگانه + گزارشها
└── پشتیبان: فعالسازی دستی با انتخاب پکیج
۲. تجربه مشتری (FrontOffice) — قبل و بعد
۲.۱ صفحه لیست پکیجها (Packages.razor)
قبل (فعلی):
┌─────────────────────────────────────────────┐
│ پکیج طلایی │
│ ──────────── │
│ ✅ دسترسی به باشگاه مشتریان │
│ ✅ کیفپول جادویی │
│ ✅ فروشگاه تخفیفی │
│ │
│ 💰 ۵۶,۰۰۰,۰۰۰ تومان │
│ │
│ [خرید پکیج] │
└─────────────────────────────────────────────┘
بعد (پکیجبیس):
┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ 🥈 پکیج نقرهای │ │ 🏆 پکیج پایه │ │ 💎 پکیج ویژه │
│ ──────────── │ │ ──────────── │ │ ──────────── │
│ ✅ باشگاه مشتریان │ │ ✅ باشگاه مشتریان │ │ ✅ باشگاه مشتریان │
│ ✅ کیفپول جادویی │ │ ✅ کیفپول جادویی │ │ ✅ کیفپول جادویی │
│ ❌ فروشگاه تخفیفی │ │ ✅ فروشگاه تخفیفی │ │ ✅ فروشگاه تخفیفی │
│ ❌ پشتیبانی اختصاصی │ │ ❌ پشتیبانی اختصاصی │ │ ✅ پشتیبانی اختصاصی │
│ │ │ │ │ │
│ 💰 ۵,۶۰۰,۰۰۰ تومان │ │ 💰 ۵۶,۰۰۰,۰۰۰ تومان │ │ 💰 ??? تومان │
│ │ │ ⭐ محبوبترین │ │ 🆕 بزودی │
│ [خرید] [جزئیات] │ │ [خرید] [جزئیات] │ │ [در انتظار] │
│ ────────────────── │ │ ────────────────── │ │ ────────────────── │
│ 📊 PV: 5,600,000 │ │ 📊 PV: 56,000,000 │ │ │
│ 🎁 هدیه: 11,200,000 │ │ 🎁 هدیه: 112,000,000 │ │ │
└──────────────────────┘ └──────────────────────┘ └──────────────────────┘
تغییرات کلیدی:
- کاشیها از API میآیند (نه hardcoded)
- فیچرهای هر پکیج از
PackageFeatureخوانده میشود - نمایش PV (Point Value) برای هر پکیج
- نمایش Gift Value (=
Price × DiscountMultiplier) - دکمههای شرطی: دایا فقط برای پکیجهای
SupportsDayaPurchase - Badge «محبوبترین» / «ارزانترین» بر اساس
SortOrder
۲.۲ صفحه پکیجهای من (MyPackages.razor)
قبل:
وضعیت عضویت: فعال ✅
پکیج: طلایی
تاریخ فعالسازی: ۱۴۰۳/۰۹/۱۵
بعد:
┌─────────────────────────────────────────────────────────────┐
│ 📦 پکیج فعال: پکیج پایه │
│ ──────────── │
│ وضعیت: فعال ✅ | چرخه: ۲ | مدت: ۱۸۰ روز │
│ │
│ ┌──── کیفپول جادویی ────┐ │
│ │ موجودی: ۱۲,۳۰۰,۰۰۰ │ │
│ │ شارژ: ۴۳۵,۰۰۰,۰۰۰ │ │
│ │ سقف: ۱,۰۰۰,۰۰۰,۰۰۰ │ │
│ │ ████████░░░░ ۴۳.۵% │ │
│ └─────────────────────────┘ │
│ │
│ ┌──── PV انباشته ────┐ │
│ │ PV کل: ۸۹,۶۰۰,۰۰۰ │ │
│ │ آخرین سفارش: ۴.۲M │ │
│ └─────────────────────┘ │
│ │
│ ❌ چرخه جادویی تکمیل نشده — هنوز امکان خرید مجدد نیست │
│ ───── یا ───── │
│ ✅ چرخه جادویی تکمیل شد! [خرید پکیج جدید] │
└─────────────────────────────────────────────────────────────┘
┌─── تاریخچه چرخهها ───┐
│ چرخه ۱: پایه — ۱۴۰۳/۰۹ تا ۱۴۰۴/۰۳ — ✅ تکمیل │
│ چرخه ۲: پایه — ۱۴۰۴/۰۳ تا ادامه دارد — 🔄 فعال │
└────────────────────────┘
تغییرات کلیدی:
- نمایش شماره چرخه و نوع پکیج
- نوار پیشرفت Magic Wallet (چقدر تا تکمیل چرخه)
- PV انباشته (از
CalculateOrderPV) - دکمه شرطی «خرید مجدد» (فقط بعد تکمیل چرخه)
- تاریخچه چرخهها (از
ClubMembershipCycle)
۲.۳ صفحه چکاوت (Checkout.razor)
قبل:
سبد خرید:
محصول A × 2 = ۲,۰۰۰,۰۰۰ تومان
مالیات (۹%): ۱۸۰,۰۰۰ تومان
────────────────
جمع: ۲,۱۸۰,۰۰۰ تومان
بعد:
سبد خرید:
محصول A × 2 = ۲,۰۰۰,۰۰۰ تومان
مالیات (۹%): ۱۸۰,۰۰۰ تومان
────────────────
جمع: ۲,۱۸۰,۰۰۰ تومان
📊 PV این سفارش: ۲,۰۰۰,۰۰۰ ← جدید
💎 PV انباشته: ۹۱,۶۰۰,۰۰۰ ← جدید
۲.۴ پرداخت پکیج — مودال خرید
قبل:
┌─── خرید پکیج طلایی ───┐
│ │
│ مبلغ: ۵۶,۰۰۰,۰۰۰ تومان │
│ │
│ [پرداخت آنلاین] │
│ [اقساط دایا] │
│ [پرداخت دستی] │
└──────────────────────────┘
بعد:
┌─── خرید پکیج نقرهای ───┐ ┌─── خرید پکیج پایه ───┐
│ │ │ │
│ مبلغ: ۵,۶۰۰,۰۰۰ تومان │ │ مبلغ: ۵۶,۰۰۰,۰۰۰ تومان│
│ │ │ │
│ سهم باشگاه: ۲,۵۲۰,۰۰۰ │ │ سهم باشگاه: ۲۵,۲۰۰,۰۰│
│ شارژ کیفپول: ۵,۶۰۰,۰۰۰ │ │ شارژ کیفپول: ۵۶,۰۰۰,۰│
│ هدیه تخفیفی: ۱۱,۲۰۰,۰۰۰ │ │ هدیه تخفیفی: ۱۱۲,۰۰۰,۰│
│ │ │ │
│ [پرداخت آنلاین] ✅ │ │ [پرداخت آنلاین] ✅ │
│ [اقساط دایا] ❌ ندارد │ │ [اقساط دایا] ✅ │
│ [پرداخت دستی] ✅ │ │ [پرداخت دستی] ✅ │
└────────────────────────────┘ └────────────────────────┘
تغییرات کلیدی:
- نمایش breakdown مالی: سهم باشگاه + شارژ کیفپول + هدیه تخفیفی
- دکمههای پرداخت شرطی بر اساس
SupportsDayaPurchase/SupportsDirectPurchase - متن قرارداد داینامیک بر اساس پکیج انتخابشده
۲.۵ صفحه تنظیمات مشتری (Settings.razor) — جدید
┌─── تنظیمات اعلانها ───┐
│ │
│ 📧 اعلان ایمیل: [✅] │
│ 📱 اعلان SMS: [✅] │
│ 🔔 اعلان Push: [❌] │
│ │
│ [ذخیره تغییرات] │
└──────────────────────────┘
وصل به RPC:
UpdateCustomerSettings
۲.۶ تاریخچه سفارشات — دکمه تکرار
┌─── تاریخچه سفارشات ────────────────────────────────────────┐
│ # │ تاریخ │ مبلغ │ وضعیت │ PV │ عملیات │
│───┼────────────┼────────────┼───────────┼───────────┼────────│
│ 1 │ ۱۴۰۴/۱۱/۰۲│ ۴,۲۰۰,۰۰۰ │ تحویل ✅ │ ۴,۲۰۰,۰۰ │ [🔄] [📍]│
│ 2 │ ۱۴۰۴/۱۰/۱۵│ ۱,۸۰۰,۰۰۰ │ ارسال 📦 │ ۱,۸۰۰,۰۰ │ [📍]│
│ 3 │ ۱۴۰۴/۰۹/۲۰│ ۳,۵۰۰,۰۰۰ │ تحویل ✅ │ ۳,۵۰۰,۰۰ │ [🔄] [📍]│
└─────────────────────────────────────────────────────────────┘
🔄 = تکرار سفارش (CustomerReorderPreviousOrder)
📍 = ردیابی سفارش (CustomerTrackOrder)
۳. تجربه ادمین (BackOffice) — قبل و بعد
۳.۱ مدیریت پکیجها (PackageMainPage.razor)
قبل:
┌─── مدیریت پکیجها ────────────────────────────────┐
│ # │ عنوان │ قیمت │ وضعیت │ عملیات │
│───┼──────────┼─────────────┼───────┼──────────────│
│ 1 │ طلایی │ ۵۶,۰۰۰,۰۰۰ │ فعال │ [ویرایش] │
└────────────────────────────────────────────────────┘
بعد:
┌─── مدیریت پکیجها ──────────────────────────────────────────────────────┐
│ # │ عنوان │ قیمت │ سهم باشگاه │ ضریب │ دایا │ پایه │ ترتیب│ عملیات │
│───┼─────────┼─────────────┼────────────┼────────┼──────┼──────┼──────┼───────────────│
│ 1 │ نقرهای │ ۵,۶۰۰,۰۰۰ │ ۲,۵۲۰,۰۰۰ │ ×2.0 │ ❌ │ ❌ │ 1 │ [✏️] [📋] [❌] │
│ 2 │ پایه │ ۵۶,۰۰۰,۰۰۰ │ ۲۵,۲۰۰,۰۰│ ×2.0 │ ✅ │ ✅ │ 2 │ [✏️] [📋] [❌] │
└──────────────────────────────────────────────────────────────────────────┘
✏️ = ویرایش 📋 = مدیریت فیچرها ❌ = حذف
۳.۲ ماتریس فیچر × پکیج (PackageFeatureMatrixPage.razor) — صفحه جدید
┌─── ماتریس فیچر × پکیج ─────────────────────────────────────────┐
│ │
│ فیچر │ نقرهای │ پایه │ ویژه │
│ ─────────────────────────┼─────────┼────────┼──────────────────│
│ دسترسی به باشگاه │ ✅ │ ✅ │ ✅ │
│ کیفپول جادویی │ ✅ │ ✅ │ ✅ │
│ فروشگاه عادی │ ✅ │ ✅ │ ✅ │
│ فروشگاه تخفیفی │ ❌ │ ✅ │ ✅ │
│ محصولات ClubExclusive │ ❌ │ ✅ │ ✅ │
│ پشتیبانی اختصاصی │ ❌ │ ❌ │ ✅ │
│ کمیسیون شبکه │ ✅ │ ✅ │ ✅ │
│ ─────────────────────────┼─────────┼────────┼──────────────────│
│ │ [ذخیره] │ [ذخیره]│ [ذخیره] │
└─────────────────────────────────────────────────────────────────┘
ادمین با checkbox فیچرها را به هر پکیج اختصاص میدهد.
وصل به RPC: AssignFeatureToMembership
۳.۳ فعالسازی باشگاه (ActivateClubDialog.razor)
قبل:
فعالسازی باشگاه مشتریان
کاربر: علی محمدی
[فعالسازی] ← hardcoded 56M + همه فیچرها
بعد:
فعالسازی باشگاه مشتریان
کاربر: علی محمدی
پکیج: [▼ انتخاب پکیج ▼] ← dropdown از API
├── نقرهای (۵,۶۰۰,۰۰۰)
└── پایه (۵۶,۰۰۰,۰۰۰)
جزئیات:
سهم باشگاه: _________ (خودکار)
فیچرها: _________ (از ماتریس پکیج)
[فعالسازی]
۳.۴ داشبورد (Index.razor) — بهبود
┌─── آمار باشگاه ────────────────────────────────────────────────┐
│ │
│ 👥 کل اعضا: ۱,۲۴۰ │
│ 📦 پکیج نقرهای: ۸۲۰ | پکیج پایه: ۴۲۰ │
│ 💰 Pool نقرهای: ۲,۰۶۶,۴۰۰,۰۰۰ | Pool پایه: ۱۰,۵۸۴,۰۰۰,۰۰│
│ ⚠️ هشدار: ۱۲ محصول موجودی کم │
│ │
│ ┌── موجودی انبار ──┐ ┌── ارزش کل انبار ──┐ │
│ │ ۳,۴۵۰ آیتم │ │ ۸۹,۲۰۰,۰۰۰,۰۰۰ │ │
│ │ ۱۲ نوع محصول │ │ ریال │ │
│ └───────────────────┘ └───────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
وصل به: GetInventorySummary, GetStockValueReport, GetLowStockProducts
۳.۵ مدیریت شبکه (UserNetworkInfo.razor) — بهبود
┌─── مدیریت شبکه ─────────────────────────────────────────┐
│ │
│ کاربر: سارا احمدی (ID: 1045) │
│ پکیج: نقرهای │ چرخه: ۱ │ PV: ۵,۶۰۰,۰۰۰ │
│ Parent: علی محمدی (ID: 1001) │
│ شاخه: چپ │ عمق: ۳ │
│ │
│ [جابجایی در شبکه] ← مودال: انتخاب parent جدید │
│ │
└───────────────────────────────────────────────────────────┘
وصل به: ChangeNetworkParent
۴. تسکهای تحول — مرحلهبهمرحله
مرحله ۱: زیرساخت Domain + DB (پایه)
⚠️ بدون این مرحله هیچکدام از تغییرات UI ممکن نیست
| # | تسک | لایه | فایلها | شرح |
|---|---|---|---|---|
| T1.1 | اضافه ۷ فیلد به Package entity | Domain | Package.cs, PackageConfiguration.cs | SortOrder, IsActive, IsBasePackage, SupportsDayaPurchase, SupportsDirectPurchase, ActivationFee, DiscountMultiplier, MagicWalletMultiplier |
| T1.2 | ایجاد PackageFeature entity | Domain | PackageFeature.cs, PackageFeatureConfiguration.cs | join table: Package ↔ ClubFeature |
| T1.3 | اضافه PackageId به ClubMembership | Domain | ClubMembership.cs | FK nullable → بعد migration → required |
| T1.4 | اضافه PackageId به ClubMembershipCycle | Domain | ClubMembershipCycle.cs | FK nullable → بعد migration → required |
| T1.5 | اضافه PackageId به WeeklyCommissionPool | Domain | WeeklyCommissionPool.cs | FK + Unique(WeekDefinitionId, PackageId) |
| T1.6 | اضافه PackageId به UserCommissionPayout | Domain | UserCommissionPayout.cs | FK nullable |
| T1.7 | حذف ۵ SystemConstants | Domain | SystemConstants.cs | BasePackageAmount, DayaLoanAmount, ClubActivationFee, ClubMembershipGiftValue, MagicWalletMultiplier |
| T1.8 | EF Migration + Seed | Infrastructure | Migration file | ۲ پکیج + فیچرها + FKها |
| T1.9 | Data Migration Script | Infrastructure | SQL script | کاربران فعلی → PackageId = پکیج پایه |
| T1.10 | بروزرسانی Protoها | Proto | package.proto, clubmembership.proto, commission.proto | فیلدهای جدید |
مرحله ۲: منطق کسبوکار (Handlers)
هر handler باید از Package entity مقادیر مالی بخواند
| # | تسک | فایل | شرح |
|---|---|---|---|
| T2.1 | Generic Verify Handler | VerifyPackagePurchaseCommandHandler.cs | DiscountMultiplier از Package + ساخت UserPackagePurchase |
| T2.2 | Generic Purchase Handler | PurchasePackageCommandHandler.cs | حذف "طلایی" و ID=4 |
| T2.3 | ActivateClubMembership بهبود | ActivateClubMembershipCommandHandler.cs | فیچر از PackageFeature + ActivationFee از Package |
| T2.4 | EXIT Magic Mode ریست | UserOrderService.cs | PackagePurchaseMethod=None, membership.IsActive=false |
| T2.5 | Guards re-purchase | G1-G3 handlers | اجازه خرید اگر MagicCompletedAt پر |
| T2.6 | Re-contract | AcceptClubMembershipContractCommandHandler.cs | اجازه قرارداد مجدد |
| T2.7 | Manual Payment بهبود | CreateManualPaymentCommandHandler.cs | DiscountMultiplier از Package |
| T2.8 | Daya Loan بهبود | CheckAndProcessDayaLoansCommandHandler.cs | حذف ID=4 |
| T2.9 | PackageFeature CRUD | جدید | ادمین بتواند فیچر ↔ پکیج مدیریت کند |
| T2.10 | JWT claims جدید | JWT builder | اضافه CanRepurchase + PackageType |
مرحله ۳: محاسبه پورسانت (Commission)
| # | تسک | فایل | شرح |
|---|---|---|---|
| T3.1 | SP WeeklyBalances + PackageId | sp_CalculateWeeklyBalances.sql | فیلتر بر اساس PackageId |
| T3.2 | SP CommissionPool + PackageId | sp_CalculateWeeklyCommissionPool.sql | Pool جداگانه هر پکیج |
| T3.3 | Loop روی پکیجها | WeeklyCommissionCalculationService.cs | هر پکیج فعال → محاسبه جداگانه |
| T3.4 | ORM Strategy بهبود | OrmCommissionCalculationStrategy.cs | فیلتر PackageId |
| T3.5 | تست محاسبات | — | با داده واقعی staging |
مرحله ۴: FrontOffice UI
| # | تسک | صفحه | شرح |
|---|---|---|---|
| T4.1 | کاشیهای داینامیک | Packages.razor | لود از API + فیچر مقایسه |
| T4.2 | مودال پرداخت شرطی | PackageDetail.razor | دکمه دایا فقط اگر SupportsDayaPurchase |
| T4.3 | MyPackages re-purchase | MyPackages.razor | نوار پیشرفت + دکمه خرید مجدد |
| T4.4 | ActivationSection داینامیک | ActivationSection.razor | قیمت از پکیج |
| T4.5 | قرارداد داینامیک | ClubMembershipContractDialog.razor | متن متناسب با پکیج |
| T4.6 | PV در Checkout | Checkout.razor | نمایش PV سفارش |
| T4.7 | تکرار سفارش | Store Orders pages | دکمه 🔄 |
| T4.8 | ردیابی سفارش | OrderTracking.razor | وصل به API |
| T4.9 | تنظیمات اعلان | Settings.razor | فرم Email/SMS/Push |
مرحله ۵: BackOffice UI
| # | تسک | صفحه | شرح |
|---|---|---|---|
| T5.1 | CRUD پکیج بهبود | PackageMainPage.razor | فیلدهای جدید + ستونهای اضافه |
| T5.2 | ماتریس فیچر | PackageFeatureMatrixPage.razor (جدید) | checkbox grid |
| T5.3 | ActivateClub dropdown | ActivateClubDialog.razor | انتخاب پکیج |
| T5.4 | داشبورد بهبود | Index.razor | آمار Pool جداگانه + موجودی |
| T5.5 | شبکه بهبود | UserNetworkInfo.razor | جابجایی parent |
| T5.6 | موجودی کم | LowStockPage.razor | وصل API |
| T5.7 | گزارش ارزش انبار | InventoryMainPage.razor | تب گزارش |
| T5.8 | عملیات دستهای | InventoryMainPage.razor | Bulk Add/Update |
مرحله ۶: تست و استقرار
| # | تسک | شرح |
|---|---|---|
| T6.1 | تست خرید هر پکیج | ZarinPal + Manual |
| T6.2 | تست re-purchase | تکمیل چرخه → خرید مجدد |
| T6.3 | تست Commission Pool | جداگانه بودن هر پکیج |
| T6.4 | تست Migration | rollback plan |
| T6.5 | Deploy staging → production | blue-green |
۵. پیشبینی نیازمندیهای آینده
۵.۱ نیازمندیهای مشتری (که فعلاً اولویت پایین هستند)
| # | نیاز | RPC آماده? | توضیح |
|---|---|---|---|
| N1 | ارتقای پکیج (نقرهای → پایه) | ❌ جدید | پرداخت تفاضل + فعالسازی فیچرهای جدید |
| N2 | مقایسه پکیجها side-by-side | ❌ جدید | جدول فیچر مقایسهای (client-side) |
| N3 | اعلان قبل از اتمام چرخه | ❌ جدید | Background service: 5 روز قبل → push/SMS |
| N4 | گزارش PV ماهانه | CalculateOrderPV ✅ | جدول PV هر ماه + نمودار |
| N5 | پروفایل شبکه | ❌ جدید | مشتری درخت خودش را ببیند |
۵.۲ نیازمندیهای ادمین (که فعلاً اولویت پایین هستند)
| # | نیاز | RPC آماده? | توضیح |
|---|---|---|---|
| N6 | پکیج تخفیفی زماندار | ❌ جدید | پکیج با قیمت ویژه برای مدت محدود |
| N7 | گزارش تبدیل (conversion) | ❌ جدید | چند نفر از نقرهای به پایه ارتقا دادند |
| N8 | هشدار Pool خالی | ❌ جدید | اگر Pool یک پکیج خالی شد → هشدار |
| N9 | export گزارش مالی | GetStockValueReport ✅ | دانلود Excel |
| N10 | تخصیص فیچر bulk | AssignFeatureToMembership ✅ | فیچر به همه اعضای یک پکیج |
۶. ماتریس تاثیرگذاری بر صفحات
FrontOffice
| صفحه | تغییر | شدت | مرحله |
|---|---|---|---|
| Packages.razor | بازنویسی کامل — کاشیهای داینامیک | 🔴 | مرحله ۴ |
| PackageDetail.razor | فیچرها از API + دکمه شرطی | 🟡 | مرحله ۴ |
| MyPackages.razor | چرخه + پیشرفت + re-purchase | 🔴 | مرحله ۴ |
| Checkout.razor | PV display | 🟢 | مرحله ۴ |
| ActivationSection.razor | قیمت داینامیک | 🟡 | مرحله ۴ |
| ClubMembershipContractDialog.razor | متن داینامیک | 🟡 | مرحله ۴ |
| PaymentCallback.razor | تغییر JWT claims | 🟡 | مرحله ۴ |
| MembershipPage.razor | نمایش نوع پکیج | 🟢 | مرحله ۴ |
| Settings.razor | فرم اعلان جدید | 🟡 | مرحله ۴ |
| Store Orders | دکمه تکرار + ردیابی | 🟡 | مرحله ۴ |
BackOffice
| صفحه | تغییر | شدت | مرحله |
|---|---|---|---|
| PackageMainPage.razor | ستونهای جدید + CRUD بهبود | 🟡 | مرحله ۵ |
| PackageFeatureMatrixPage.razor | صفحه کاملاً جدید | 🔴 | مرحله ۵ |
| ActivateClubDialog.razor | dropdown پکیج | 🟡 | مرحله ۵ |
| Index.razor (Dashboard) | آمار Pool جداگانه + موجودی | 🟡 | مرحله ۵ |
| UserNetworkInfo.razor | جابجایی + نمایش پکیج | 🟡 | مرحله ۵ |
| ClubMembers.razor | ستون پکیج | 🟢 | مرحله ۵ |
| Statistics.razor | چارت توزیع پکیج | 🟡 | مرحله ۵ |
| InventoryMainPage.razor | خلاصه + گزارش + bulk | 🟡 | مرحله ۵ |
| LowStockPage.razor | وصل API | 🟢 | مرحله ۵ |
🔗 ارجاعات
| مستند | ربط |
|---|---|
| BIZ-PACKAGE-BASED-SYSTEM.md | طراحی فنی ۳۹ تغییر |
| FEATURE-BACKLOG.md | بکلاگ ۱۲ RPC آماده |
| GRPC-SERVICES-AUDIT.md | آدیت ۳۴۲ RPC |
| BUSINESS-01-CLUB-COMMISSION.md | مستند باشگاه و کمیسیون |
| BUSINESS-04-USER-MEMBERSHIP.md | مستند عضویت کاربر |
آخرین بروزرسانی: ۱۴۰۴/۱۲/۰۶