104 lines
3.9 KiB
Markdown
104 lines
3.9 KiB
Markdown
# IFNEX Pro Version — Feature Backlog
|
||
|
||
> این فایل شامل فیچرهایی است که برای نسخه Pro (پولی) برنامهریزی شدهاند.
|
||
> هر مورد با برچسب نسخه و اولویت مشخص شده است.
|
||
> تاریخ ایجاد: ۲۰۲۶-۱۰-۲۹
|
||
|
||
---
|
||
|
||
## 🔧 فیچر ۱: ارز مرجع قابل تنظیم (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 در تاریخ ۲۰۲۶-۱۰-۲۹ ایجاد شد.
|
||
> در جلسات آینده با کارفرما باید هر فیچر بهصورت جداگانه طراحی شود.
|