# IFNEX Pro Version — Feature Backlog > این فایل شامل فیچرهایی است که برای نسخه Pro (پولی) برنامه‌ریزی شده‌اند. > هر مورد با برچسب نسخه و اولویت مشخص شده است. > تاریخ ایجاد: ۲۰۲۶-۱۰-۲۹ > آخرین به‌روزرسانی: ۲۰۲۶-۱۰-۳۰ --- ## 📝 خلاصه وضعیت (۲۰۲۶-۱۰-۳۰) فاز ۳.۷ پایه (IRR-only) کامل شد. فیچرهای زیر برای **نسخه Pro** نگه داشته شده‌اند: | # | فیچر | اولویت | وابستگی | |---|---|---|---| | ۱ | ارز مرجع قابل تنظیم | 🔴 بالا | بازنویسی ExchangeRateService و PriceCalculatorService | | ۲ | دفترچه آدرس (Address Book) | 🟡 متوسط | مدل + API + UI وردپرس | | ۳ | پلاگین SMS به‌صورت ماژول | 🟡 متوسط | منتظر پنل SMS مشتری | | ۴ | سیستم لایسنس (Domain Lock) | 🔴 بالا | سرور لایسنس مرکزی | | ۵ | بروزرسانی خودکار از گیت | 🟡 متوسط | نسخه‌بندی SemVer | ### پیش‌نیاز ارز مرجع قابل تنظیم (مهم‌ترین فیچر Pro) برای پیاده‌سازی این فیچر، باید: 1. فیلد `base_currency` در System Settings اضافه شود 2. ستون `rate_to_rial` در `currencies` به `rate_to_base` تغییر نام کند 3. ستون `currency` در `rate_entries` به ارز مرجع تغییر کند 4. `ExchangeRateService` و `PriceCalculatorService` بازنویسی شوند 5. PDF فاکتورها بر مبنای ارز مرجع نمایش داده شوند بیشترین کار روی **Models/Services** و **Migrations** خواهد بود. UI تقریباً تغییر نمی‌کند چون همه چیز از قبل IRR-only شده. --- ## 🔧 فیچر ۱: ارز مرجع قابل تنظیم (Configurable Base Currency) ### وضعیت: 📋 مطرح‌شده — برای نسخه Pro ### توضیح: در نسخه فعلی، ارز مبنا (Base Currency) به‌صورت hard-code شده به **ریال ایران (IRR)**. این برای مشتریان ایرانی مناسب است، ولی اگر مشتری خارجی (مثلاً اروپایی) بخواهد از IFNEX استفاده کند، باید محاسبات بر مبنای یورو انجام شود. ### پیشنهاد پیاده‌سازی: #### ۱. تنظیم در پنل ادمین: در `System Settings` یک فیلد جدید اضافه شود: - `base_currency` — کد ارز مرجع (مثلاً IRR, EUR, USD, AED) - پیش‌فرض: IRR #### ۲. تغییر در دیتابیس: جدول `currencies`: - ستون `rate_to_rial` → تغییر نام به `rate_to_base` - هر ارز نرخ نسبت به ارز مرجع ذخیره می‌شود جدول `rate_entries`: - ستون `currency` به ارز مرجع تغییر می‌کند - مثلاً اگه base=EUR، همه نرخ‌ها به EUR ذخیره می‌شوند #### ۳. تغییر در `ExchangeRateService`: ```php public function getBaseCurrency(): string { return SystemSetting::get('base_currency', 'IRR'); } public function convertToBase(float $amount, string $fromCurrency): float { $baseCurrency = $this->getBaseCurrency(); if ($fromCurrency === $baseCurrency) return $amount; $rate = Currency::where('code', $fromCurrency)->value('rate_to_base'); return $amount * $rate; } ``` #### ۴. تغییر در `PriceCalculatorService`: - همه ارجاعات به IRR با ارز مرجع جایگزین شود - نمایش در پورتال مشتری هم با ارز مرجع #### ۵. تأثیر روی فاکتورها و گزارش‌ها: - PDF فاکتورها باید ارز مرجع رو نشون بدن - گزارش‌های مالی بر مبنای ارز مرجع - امکان نمایش معادل ارز دیگر (مثلاً معادل یورو و دلار) ### مزایا: - ✅ پشتیبانی از مشتریان بین‌المللی - ✅ انعطاف در انتخاب ارز محاسباتی - ✅ White-label friendly ### چالش‌ها: - ⚠️ تغییر اسکیمای دیتابیس (نیازمند migration) - ⚠️ بازنویسی بخش‌های مالی سیستم - ⚠️ تست مجدد همه فلوی پرداخت ### اولویت: 🔴 بالا (نسخه Pro) --- ## 📝 یادآوری‌های دیگر (در این چت مطرح شد) ### فیچر ۲: دفترچه آدرس (Address Book) - ذخیره فرستنده/گیرنده‌های قبلی - انتخاب از لیست در فرم سفارش - مدیریت در پورتال مشتری ### فیچر ۳: پلاگین SMS به‌صورت ماژول - فعال‌سازی به‌صورت add-on - پشتیبانی از چندین سرویس‌دهنده (Kavenegar, MeliPayamak, ...) - پلن‌های جداگانه در مدل تجاری ### فیچر ۴: سیستم لایسنس (Domain Lock + Feature Flags) - مدل: License Key + Domain Lock - Feature Flags برای فعال‌سازی پلن‌های Starter/Business/Enterprise - سرور لایسنس مرکزی ### فیچر ۵: بروزرسانی خودکار از گیت - نسخه‌بندی سمنتیک (SemVer) - آپدیت از گیت با تأیید مدیر - بکاپ قبل از آپدیت --- > این فایل توسط Z.ai در تاریخ ۲۰۲۶-۱۰-۲۹ ایجاد شد. > در جلسات آینده با کارفرما باید هر فیچر به‌صورت جداگانه طراحی شود.