docs(roadmap): introduce phase 3.5 and future commercialization plans

Update project documentation to reflect the transition from Phase 3 to
a new critical refinement phase (Phase 3.5) and outline long-term
strategic goals.

Key documentation updates:
- Added Phase 3.5 (Essential Refinements) to the roadmap and checklist,
  focusing on multi-package support, parcel invoice forms, and
  internationalization (i18n).
- Defined Phase 5 (Commercialization) including tiered subscription
  models (Starter, Business, Enterprise) and premium features.
- Created `IFNEX_Commercial_Model.md` to detail monetization strategies.
- Created `IFNEX_I18N_Strategy.md` to outline the multi-language
  implementation approach using Polylang.
- Updated `README.md` with the revised project lifecycle and new
  documentation references.
This commit is contained in:
Kazem Alghasi 2026-08-29 05:19:54 +03:30
parent a1a6dbdd8a
commit b5e136a76d
5 changed files with 774 additions and 31 deletions

View File

@ -0,0 +1,270 @@
# مدل تجاری IFNEX — پلن‌های فروش
> **سند مطالعاتی** — برای فاز ۵
> **آخرین بروزرسانی:** 2026-08-29
---
## 🎯 استراتژی کلی
به‌جای نسخه رایگان، یه **مدل پولی چندلایه‌ای** ارائه می‌شه. دلیل:
- بازار هدف (شرکت‌های لجستیک بین‌المللی) محدود اما پرداخت‌کننده هست
- نیاز به پشتیبانی و نگهداری مستمر
- جلوگیری از سوءاستفاده از کد
---
## 💰 پلن‌های پیشنهادی
### ۱. IFNEX Starter (پایه)
**هدف:** شرکت‌های کوچک لجستیک که نیاز اساسی دارن
| ویژگی | توضیح |
|------|--------|
| **قیمت پیشنهادی** | $299 / سال (یا معادل ریالی) |
| **کاربران ادمین** | تا ۳ کاربر |
| **مشتریان** | نامحدود |
| **سفارشات ماهانه** | تا ۵۰۰ سفارش |
| **پشتیبانی** | ایمیل (۴۸ ساعت پاسخ) |
**امکانات:**
- ✅ پنل مشتری پایه (وردپرس)
- ✅ فرم سفارش ساده (تک بسته)
- ✅ پنل ادمین Filament
- ✅ PDF استاندارد (AWB, Invoice, Label)
- ✅ کیف پول + درگاه پرداخت
- ✅ اکسپورت اکسل پایه (لیست سفارشات)
- ✅ ترکینگ دستی
- ✅ یک زبان (فارسی یا انگلیسی)
**محدودیت‌ها:**
- ❌ Multi-Package
- ❌ سیستم نمایندگی
- ❌ API ترکینگ زنده
- ❌ گزارش‌های پیشرفته
---
### ۲. IFNEX Business (متوسط)
**هدف:** شرکت‌های متوسط با حجم بالاتر
| ویژگی | توضیح |
|------|--------|
| **قیمت پیشنهادی** | $899 / سال |
| **کاربران ادمین** | تا ۱۰ کاربر |
| **مشتریان** | نامحدود |
| **سفارشات ماهانه** | تا ۵۰۰۰ سفارش |
| **پشتیبانی** | ایمیل + تلفن (۲۴ ساعت پاسخ) |
**امکانات (تمام امکانات Starter +):**
- ✅ Multi-Package (چند بسته در یک سفارش)
- ✅ فرم Invoice کامل (برای PARCEL)
- ✅ سیستم نمایندگی (فاز ۴)
- ✅ گزارش‌های مالی پیشرفته
- ✅ اکسپورت اکسل کامل (تمام فیلدها)
- ✅ API ترکینگ زنده (TrackingMore)
- ✅ دو زبان (فارسی + انگلیسی)
- ✅ نوتیفیکیشن SMS (محدود)
- ✅ تاریخچه کامل تغییرات
- ✅ کدهای تخفیف پیشرفته
---
### ۳. IFNEX Enterprise (کامل)
**هدف:** شرکت‌های بزرگ و سازمانی
| ویژگی | توضیح |
|------|--------|
| **قیمت پیشنهادی** | $1999 / سال (یا قراردادی) |
| **کاربران ادمین** | نامحدود |
| **مشتریان** | نامحدود |
| **سفارشات ماهانه** | نامحدود |
| **پشتیبانی** | اختصاصی ۲۴/۷ + Slack |
**امکانات (تمام امکانات Business +):**
- ✅ فرم‌ساز Drag & Drop (Custom Fields)
- ✅ White-label branding (لوگو و رنگ اختصاصی)
- ✅ API Gateway برای توسعه‌دهندگان
- ✅ چند زبانه (نامحدود)
- ✅ پلاگین SMS نامحدود
- ✅ آموزش تیمی (On-site)
- ✅ SLA تضمین‌شده (Uptime 99.9%)
- ✅ بکاپ روزانه
- ✅ سرور اختصاصی
---
## 📊 مقایسه پلن‌ها
| ویژگی | Starter | Business | Enterprise |
|------|---------|----------|------------|
| **قیمت سالانه** | $299 | $899 | $1999 |
| **کاربران ادمین** | ۳ | ۱۰ | نامحدود |
| **سفارشات/ماه** | ۵۰۰ | ۵۰۰۰ | نامحدود |
| پنل مشتری | ✅ | ✅ | ✅ |
| فرم سفارش ساده | ✅ | ✅ | ✅ |
| Multi-Package | ❌ | ✅ | ✅ |
| فرم Invoice | ❌ | ✅ | ✅ |
| سیستم نمایندگی | ❌ | ✅ | ✅ |
| PDF استاندارد | ✅ | ✅ | ✅ |
| اکسپورت اکسل پایه | ✅ | ✅ | ✅ |
| اکسپورت اکسل کامل | ❌ | ✅ | ✅ |
| API ترکینگ زنده | ❌ | ✅ | ✅ |
| گزارش‌های پیشرفته | ❌ | ✅ | ✅ |
| فرم‌ساز Drag & Drop | ❌ | ❌ | ✅ |
| White-label | ❌ | ❌ | ✅ |
| API Gateway | ❌ | ❌ | ✅ |
| چند زبانه | ۱ زبان | ۲ زبان | نامحدود |
| پشتیبانی | ایمیل | ایمیل+تلفن | ۲۴/۷ |
| SLA | ❌ | ❌ | ✅ 99.9% |
---
## 🚀 برنامه عرضه به بازار
### مرحله ۱: آماده‌سازی (فاز ۳.۵)
- تکمیل Multi-Package
- تکمیل فرم Invoice
- تکمیل چندزبانه
- تست کامل
- مستندسازی
### مرحله ۲: عرضه Starter (فاز ۵ - Q1 2027)
- راه‌اندازی سایت فروش
- صفحه قیمت‌گذاری
- دمو آنلاین
- سیستم لایسنس
- مستندات نصب
### مرحله ۳: عرضه Business (فاز ۵ - Q2 2027)
- تکمیل سیستم نمایندگی (فاز ۴)
- گزارش‌های پیشرفته
- API ترکینگ زنده
### مرحله ۴: عرضه Enterprise (فاز ۵ - Q3 2027)
- فرم‌ساز Drag & Drop
- White-label
- API Gateway
---
## 💡 مدل‌های درآمدی مکمل
### ۱. سفارشی‌سازی
- سفارشی‌سازی برند و رنگ: $499 یک‌بار
- توسعه فیچر اختصاصی: $50-100 / ساعت
### ۲. آموزش
- آموزش آنلاین (گروهی): $99 / نفر
- آموزش On-site (۳ روز): $1500
### ۳. مهاجرت داده
- از سیستم قدیمی به IFNEX: $299-999 (بسته به حجم)
### ۴. پشتیبانی ماهانه
- پشتیبانی ماهانه Starter: $29 / ماه
- پشتیبانی ماهانه Business: $79 / ماه
- پشتیبانی ماهانه Enterprise: $199 / ماه
### ۵. افزونه‌ها (Add-ons)
- پلاگین SMS: $99 / سال
- API ترکینگ زنده: $199 / سال
- گزارش‌های پیشرفته: $149 / سال
- اکسپورت اکسل کامل: $99 / سال
---
## 🔐 سیستم لایسنس
### مدل پیشنهادی: License Key + Domain Lock
```php
// در بک‌اند IFNEX (سرور لایسنس):
License::create([
'key' => Str::uuid(),
'plan' => 'business',
'domain' => 'customer-domain.com',
'expires_at' => now()->addYear(),
'features' => ['multi_package', 'agency_system', ...],
]);
// در پلاگین مشتری (ولیدیشن):
$response = Http::post('https://license.ifnex.net/validate', [
'key' => $license_key,
'domain' => $_SERVER['HTTP_HOST'],
]);
```
### ویژگی‌ها:
- **Domain Lock:** لایسنس فقط برای یه دامنه کار می‌کنه
- **Feature Flags:** فعال‌سازی فیچرها بر اساس پلن
- **Auto-renew:** تمدید خودکار با پرداخت
- **Grace Period:** ۷ روز پس از انقضا
---
## 📈 برآورد درآمد
### سال اول (2027):
| پلن | تعداد مشتریان | درآمد |
|------|--------------|-------|
| Starter | ۲۰ | $5,980 |
| Business | ۸ | $7,192 |
| Enterprise | ۲ | $3,998 |
| **مجموع** | **۳۰** | **$17,170** |
### سال دوم (2028):
| پلن | تعداد مشتریان | درآمد |
|------|--------------|-------|
| Starter | ۵۰ | $14,950 |
| Business | ۲۰ | $17,980 |
| Enterprise | ۵ | $9,995 |
| **مجموع** | **۷۵** | **$42,925** |
### سال سوم (2029):
| پلن | تعداد مشتریان | درآمد |
|------|--------------|-------|
| Starter | ۱۰۰ | $29,900 |
| Business | ۴۰ | $35,960 |
| Enterprise | ۱۰ | $19,990 |
| **مجموع** | **۱۵۰** | **$85,850** |
---
## ⚠️ ریسک‌ها و چالش‌ها
### ریسک‌های فنی:
1. **پیچیدگی لایسنس:** امکان دور زدن لایسنس در پروژه‌های open-source
2. **پشتیبانی چند نسخه:** نگهداری کد برای پلن‌های مختلف
3. **آپدیت‌ها:** هماهنگ‌سازی آپدیت‌ها بین پلن‌ها
### ریسک‌های تجاری:
1. **رقابت:** سیستم‌های مشابه (DHL, FedEx) امکانات رایگان دارن
2. **قیمت:** ممکنه برای شرکت‌های کوچک گرون باشه
3. **اعتماد:** برند جدید، نیاز به زمان برای جلب اعتماد
### راهکارها:
- **ارائه آزمایشی:** ۱۴ روز رایگان (Trial)
- **پشتیبانی قوی:** تمایز با پشتیبانی عالی
- **جامعه کاربران:** ساخت انجمن و اشتراک تجربه
- **آپدیت منظم:** آپدیت‌های ماهانه با فیچرهای جدید
---
## 📋 کارهای آینده (فاز ۵)
- [ ] طراحی سایت فروش (landing page + pricing)
- [ ] سیستم لایسنس سرور
- [ ] پنل مدیریت مشتریان
- [ ] سیستم پرداخت اشتراکی
- [ ] مستندات نصب و راه‌اندازی
- [ ] ویدیوهای آموزشی
- [ ] دمو آنلاین
- [ ] سیستم تیکت پشتیبانی
---
> 2026 VernaSoft Group. Internal use only.

View File

@ -0,0 +1,218 @@
# استراتژی چندزبانه IFNEX (i18n)
> **سند مطالعاتی** — برای فاز ۳.۵ و فاز ۵
> **آخرین بروزرسانی:** 2026-08-29
---
## 🎯 هدف
پشتیبانی کامل از چند زبان در فرانت‌اند وردپرس و بک‌اند لاراول، با:
- زبان فارسی (پیش‌فرض، RTL)
- زبان انگلیسی (LTR)
- آماده برای افزودن زبان‌های دیگر در آینده (عربی، چینی، و...)
---
## 🏗️ معماری فعلی
### وردپرس
- **پلاگین:** Polylang (نصب‌شده)
- **قالب IFNEX:** فقط فارسی
- **پلاگین IFNEX Bridge:** فقط فارسی (hard-coded)
- **زبان‌های فعال:** فارسی (پیش‌فرض) + انگلیسی
### لاراول
- **APP_LOCALE:** fa
- **APP_FALLBACK_LOCALE:** fa
- **فایل‌های زبان:** موجود در `lang/fa/` و `lang/en/`
- **تاریخ:** morilog/jalali (فارسی) + Carbon (انگلیسی)
---
## 📋 برنامه پیاده‌سازی فاز ۳.۵
### ۱. وردپرس — استخراج رشته‌ها
#### ۱.۱ فایل‌های PHP پلاگین
تمام رشته‌های hard-coded فارسی باید با توابع ترجمه جایگزین شوند:
```php
// ❌ قبل:
return '<p class="ifnex-error">برای مشاهده پروفایل، باید وارد شوید.</p>';
// ✅ بعد:
return '<p class="ifnex-error">' . __('برای مشاهده پروفایل، باید وارد شوید.', 'ifnex-bridge') . '</p>';
```
#### فایل‌های موردنیاز برای اصلاح:
- [ ] `ifnex-bridge.php`
- [ ] `includes/api-client.php`
- [ ] `includes/user-bridge.php`
- [ ] `includes/shortcodes.php` (بزرگ‌ترین فایل)
- [ ] `includes/tracking-form.php`
#### ۱.۲ فایل‌های JS
استفاده از `wp_localize_script` برای ارسال ترجمه‌ها:
```php
// در PHP:
wp_localize_script('ifnex-order-form-js', 'ifnex_i18n', [
'loading' => __('در حال بارگذاری...', 'ifnex-bridge'),
'error_required' => __('لطفاً همه فیلدها را تکمیل کنید.', 'ifnex-bridge'),
'select_country' => __('انتخاب کشور...', 'ifnex-bridge'),
// ...
]);
```
```javascript
// در JS:
$('#ifnex-from-country').empty().append(
'<option value="">' + ifnex_i18n.select_country + '</option>'
);
```
### ۲. ساخت فایل‌های ترجمه
#### ۲.۱ ساختار پوشه
```
ifnex-bridge/
└── languages/
├── ifnex-bridge-fa_IR.po
├── ifnex-bridge-fa_IR.mo
├── ifnex-bridge-en_US.po
└── ifnex-bridge-en_US.mo
```
#### ۲.۲ ابزارها
- **Poedit** — برای ویرایش فایل‌های `.po`
- **WP-CLI** — برای استخراج خودکار: `wp i18n make-pot ifnex-bridge/ languages/ifnex-bridge.pot`
### ۳. اصلاح CSS برای RTL/LTR
```css
/* پیش‌فرض RTL (فارسی) */
.ifnex-form-grid {
direction: rtl;
}
/* LTR برای انگلیسی */
html[lang="en"] .ifnex-form-grid {
direction: ltr;
}
```
### ۴. اصلاح قالب IFNEX
- [ ] استخراج رشته‌های قالب
- [ ] افزودن فایل‌های ترجمه قالب
- [ ] اصلاح CSS برای پشتیبانی RTL/LTR
### ۵. لاراول
#### ۵.۱ فایل‌های زبان
```
lang/
├── fa/
│ ├── messages.php
│ ├── validation.php
│ └── ...
└── en/
├── messages.php
├── validation.php
└── ...
```
#### ۵.۲ API پاسخ‌ها
```php
// در Controller:
return response()->json([
'message' => __('messages.order_created'),
], 201);
```
#### ۵.۳ هدر Accept-Language
- اضافه‌کردن middleware برای تشخیص زبان از هدر `Accept-Language`
- تنظیم `App::setLocale()` بر اساس هدر
```php
// middleware:
public function handle($request, Closure $next)
{
$locale = $request->header('Accept-Language', 'fa');
App::setLocale(substr($locale, 0, 2));
return $next($request);
}
```
### ۶. وردپرس Polylang Integration
#### ۶.۱ ثبت strings در Polylang
```php
// در functions.php قالب:
pll_register_string('ifnex-bridge', 'برای مشاهده پروفایل، باید وارد شوید.');
```
#### ۶.۲ استفاده در شورت‌کدها
```php
$login_prompt = pll__('برای مشاهده پروفایل، باید وارد شوید.');
```
#### ۶.۳ ترجمه صفحات
- ساخت نسخه انگلیسی برای صفحات: `/en/my-account/`, `/en/wallet/`, و...
- اتصال صفحات فارسی و انگلیسی در Polylang
---
## 🎯 معیارهای پذیرش (Acceptance Criteria)
### فاز ۳.۵:
- [ ] تمام رشته‌های پلاگین IFNEX Bridge قابل ترجمه هستند
- [ ] فایل‌های `.po/.mo` برای fa_IR و en_US موجود است
- [ ] سایت در زبان انگلیسی به‌درستی نمایش داده می‌شود
- [ ] فرم سفارش در زبان انگلیسی کار می‌کند
- [ ] پیام‌های خطا در زبان انگلیسی نمایش داده می‌شوند
- [ ] CSS در هر دو حالت RTL و LTR درست است
- [ ] API لاراول بر اساس هدر `Accept-Language` پاسخ می‌دهد
### فاز ۵ (آینده):
- [ ] افزودن زبان عربی
- [ ] افزودن زبان چینی
- [ ] ترجمه خودکار با API (Google Translate)
- [ ] انتخاب زبان در فرم سفارش
---
## 📊 برآورد زمان
| بخش | زمان تخمینی |
|------|-------------|
| استخراج رشته‌ها (PHP) | ۱ روز |
| استخراج رشته‌ها (JS) | نصف روز |
| ساخت فایل‌های ترجمه | ۱ روز |
| اصلاح CSS RTL/LTR | نصف روز |
| تست و رفع اشکال | ۱ روز |
| **مجموع** | **۴ روز** |
---
## ⚠️ نکات مهم
1. **هماهنگی با کارفرما:** قبل از شروع، باید تأیید بشه که ترجمه انگلیسی رو کارفرما تأمین می‌کنه یا خودمون انجام می‌دیم.
2. **تاریخ:** برای زبان انگلیسی، تاریخ میلادی نمایش داده بشه (نه شمسی).
3. **اعداد:** برای زبان انگلیسی، اعداد لاتین نمایش داده بشه.
4. **جهت:** RTL برای فارسی/عربی، LTR برای انگلیسی/چینی.
5. **فونت:** برای زبان انگلیسی از فونت مناسب (مثل Inter یا Roboto) استفاده بشه.
---
## 📚 منابع
- [Polylang Documentation](https://polylang.pro/doc/)
- [WordPress Internationalization](https://developer.wordpress.org/plugins/internationalization/)
- [Laravel Localization](https://laravel.com/docs/localization)
- [WP-CLI i18n](https://developer.wordpress.org/cli/commands/i18n/)
---
> 2026 VernaSoft Group. Internal use only.

View File

@ -16,9 +16,11 @@
| فاز ۱ (پنل مشتری) | ✅ تکمیل شده | 100% |
| فاز ۲ (پرداخت و کیف پول) | ✅ تکمیل شده | 100% |
| فاز ۳ (یکپارچه‌سازی) | ✅ تکمیل شده | 100% |
| **فاز ۳.۵ (اصلاحات اساسی)** | 🔄 در دست اقدام | 0% |
| فاز ۴ (سیستم نمایندگی) | 📋 مطالعاتی | 0% |
| فاز ۵ (تجاری‌سازی) | 📋 مطالعاتی | 0% |
> **نکته:** مورد ۱۹ (سیستم نمایندگی) به فاز ۴ منتقل شد. ۱۸ مورد کارفرما + تست‌های لوکال تکمیل شد.
> **نکته:** فاز ۳.۵ شامل اصلاحات اساسی است که پس از تست لوکال شناسایی شد. این فاز قبل از ارائه نهایی به کارفرما باید تکمیل شود.
---
@ -285,9 +287,87 @@
- [x] اصلاح `.env` و `ZARINPAL_FRONTEND_SUCCESS_URL` / `FAILURE_URL`
- [x] تست موفق تمام جریان‌ها: لاگین → سفارش → پرداخت → شارژ کیف پول → نوتیفیکیشن
### بازطراحی PDFها:
- [x] نصب `picqer/php-barcode-generator`
- [x] بازطراحی AWB با بارکد، From/To کامل، Value، Service، Type
- [x] بازطراحی Invoice با جدول ۹ ردیفه، اعلان قانونی، بارکد پایین
- [x] بازطراحی Label با اندازه ۱۰۰×۱۵۰mm و بارکد بزرگ
- [x] اضافه‌شدن شرط DOC/PARCEL برای Invoice (فقط PARCEL فاکتور داره)
---
## بخش ۱۱: مستندات
## بخش ۱۱: فاز ۳.۵ — اصلاحات اساسی 🔄
> ⚠️ **این بخش قبل از ارائه نهایی به کارفرما باید تکمیل شود.**
### ۱۱.۱ — Multi-Package در فرم سفارش مشتری 🔴 ضروری
**مشکل:** بک‌اند و پنل ادمین از چند بسته پشتیبانی می‌کنند، ولی فرم سفارش مشتری فقط یه بسته می‌گیره.
- [ ] اصلاح `ifnex-order-form.js` — افزودن قابلیت "افزودن بسته دیگر"
- [ ] اصلاح HTML فرم — نمایش لیست بسته‌های اضافه‌شده
- [ ] محاسبه مجموع وزن‌ها و قیمت نهایی
- [ ] اصلاح `buildOrderData()` — ارسال آرایه `packages[]`
- [ ] اصلاح API `POST /customer/orders` — پذیرش `packages[]`
- [ ] ایجاد خودکار `ShipmentPackage` هنگام ثبت سفارش
- [ ] تست با چند بسته
### ۱۱.۲ — فرم Invoice برای محموله‌های PARCEL 🔴 ضروری
**مشکل:** وقتی مشتری نوع PARCEL رو انتخاب می‌کنه، باید فرم اقلام گمرکی (Invoice) رو پر کنه.
- [ ] اضافه‌کردن مرحله جدید به فرم سفارش (مرحله ۲.۵)
- [ ] نمایش این مرحله فقط وقتی نوع = PARCEL
- [ ] فیلدهای هر آیتم: Description, HS Code, Quantity, Unit Price, Total
- [ ] امکان افزودن چندین آیتم (تا ۹ ردیف)
- [ ] محاسبه خودکار Total و نمایش مجموع
- [ ] ارسال `items[]` به API
- [ ] ایجاد خودکار `ShipmentItem` هنگام ثبت سفارش
- [ ] تست با چند آیتم
### ۱۱.۳ — پشتیبانی چندزبانه (i18n) 🟡 مهم
**مشکل:** سایت ۲ زبانه (فارسی + انگلیسی) هست با Polylang، ولی:
- تمام شورت‌کدها و فرم‌ها فقط فارسی هستن
- پیام‌های خطا و موفقیت فقط فارسی هستن
- [ ] استخراج تمام رشته‌های متنی به فایل‌های ترجمه
- [ ] استفاده از `__()` و `_e()` در وردپرس
- [ ] استفاده از `wp_localize_script` برای ارسال ترجمه‌ها به JS
- [ ] افزودن فایل‌های `.po/.mo` برای زبان‌های فارسی و انگلیسی
- [ ] اصلاح تمام فایل‌های `ifnex-bridge/includes/*.php`
- [ ] اصلاح `ifnex-order-form.js` (استفاده از متغیرهای ترجمه)
- [ ] اصلاح CSS برای پشتیبانی RTL/LTR
- [ ] تست زبان انگلیسی
### ۱۱.۴ — تست و نهایی‌سازی 🟡 مهم
- [ ] تست تولید PDF با بارکد روی سرور
- [ ] تست Multi-Package
- [ ] تست Invoice Form برای PARCEL
- [ ] تست زبان انگلیسی
- [ ] دیپلوی نهایی روی سرور
- [ ] تست نهایی روی سرور
---
## بخش ۱۲: فاز ۵ — تجاری‌سازی 📋
> طرح مطالعاتی — مدل پولی چندلایه‌ای
### پلن‌های پیشنهادی:
- [ ] **IFNEX Starter** — پلن پایه پرداخت‌شده
- [ ] **IFNEX Business** — پلن متوسط
- [ ] **IFNEX Enterprise** — پلن کامل
### فیچرهای Premium:
- [ ] فرم‌ساز Drag & Drop
- [ ] White-label branding
- [ ] API Gateway برای توسعه‌دهندگان
- [ ] اکسپورت اکسل کامل (تمام فیلدها)
- [ ] API ترکینگ زنده (TrackingMore/17track)
- [ ] پلاگین SMS
- [ ] گزارش‌های مالی پیشرفته
- [x] IFNEX_Phase0_Checklist.md (همین فایل)
- [x] IFNEX_File_Map.md — نقشه فایل‌های پروژه

View File

@ -2,7 +2,7 @@
> **آخرین بروزرسانی:** 2026-08-29
> **توسعه‌دهنده:** VernaSoft Group — Kazem Alghasi
> **وضعیت کلی:** فاز ۰، ۱، ۲ و ۳ تکمیل شد ✅
> **وضعیت کلی:** فاز ۰، ۱، ۲، ۳ تکمیل شد ✅ — فاز ۳.۵ در دست اقدام 🔄
---
@ -14,7 +14,9 @@
| فاز ۱ | پنل مشتری وردپرس | ✅ تکمیل شده | 100% |
| فاز ۲ | پرداخت و کیف پول | ✅ تکمیل شده | 100% |
| فاز ۳ | یکپارچه‌سازی و بهبود | ✅ تکمیل شده | 100% |
| فاز ۴ (آینده) | سیستم نمایندگی | 📋 مطالعاتی | 0% |
| **فاز ۳.۵** | **اصلاحات اساسی** | 🔄 در دست اقدام | 0% |
| فاز ۴ | سیستم نمایندگی | 📋 مطالعاتی | 0% |
| فاز ۵ | تجاری‌سازی و Premium | 📋 مطالعاتی | 0% |
---
@ -24,7 +26,7 @@
### انجام شده:
- دیتابیس کامل با ۴ زون مجزا (Export/Import × Parcel/Doc) + ۳ نوع سرویس
- ۱۳ مدل Eloquent با Enum casts و روابط کامل
- ۱۷ مدل Eloquent با Enum casts و روابط کامل
- Seeders کشورها (۲۳۳ کشور) و تنظیمات سیستم
- API ترکینگ (`GET /api/v1/track/{awb}`) با API Key + Rate Limiting
- API قیمت‌گذاری (`POST /api/v1/calculate`)
@ -42,16 +44,8 @@
### انجام شده:
- **Bridge Auth** (وردپرس → لاراول بدون رمز عبور) با API Key مشترک
- شورت‌کدهای وردپرس: فرم سفارش چند مرحله‌ای، لیست سفارشات، جزئیات، پرداخت
- دشبورد جامع مشتری شامل ۸ تب:
- 📊 داشبورد (آمار + موجودی)
- 📦 سفارشات من (با فیلتر وضعیت)
- ثبت سفارش جدید (Wizard ۴ مرحله‌ای)
- 💰 کیف پول + شارژ آنلاین
- 📊 تراکنش‌ها
- 🚚 رهگیری مرسوله
- 🔔 اعلان‌ها (با badge unread)
- 👤 پروفایل
- شورت‌کدهای وردپرس: ۱۰+ شورت‌کد برای تمام صفحات
- دشبورد جامع مشتری شامل ۸ تب
- API مشتری: پروفایل، کشورها، سفارشات، لغو، نوتیفیکیشن
- قالب سفارشی IFNEX برای وردپرس
@ -67,7 +61,7 @@
- پرداخت از کیف پول و درگاه بانکی (Zarinpal)
- Mock Gateway (شبیه‌سازی درگاه برای تست لوکال)
- سیستم ارز (Currency CRUD + بروزرسانی خودکار نرخ از API)
- Multi-package (بسته‌های چندگانه مرسوله)
- Multi-package (بسته‌های چندگانه مرسوله — در پنل ادمین)
- تاریخچه تغییرات وضعیت (ShipmentStatusHistory)
- نوتیفیکیشن دیتابیس (ادمین و مشتری)
- تولید PDF حرفه‌ای (AWB, Invoice, Label) با بارکد
@ -116,10 +110,91 @@
- ✅ اصلاح ارور "[object Object]" در پاسخ‌های AJAX
- ✅ اصلاح `ifnex_enqueue_order_assets` برای لود صحیح JS
#### بازطراحی PDFها (فاز ۳ نهایی):
- ✅ نصب `picqer/php-barcode-generator`
- ✅ بازطراحی AWB با بارکد، From/To کامل، Value، Service، Type
- ✅ بازطراحی Invoice با جدول ۹ ردیفه، اعلان قانونی، بارکد پایین
- ✅ بازطراحی Label با اندازه ۱۰۰×۱۵۰mm و بارکد بزرگ
- ✅ اضافه‌شدن شرط DOC/PARCEL برای Invoice (فقط PARCEL فاکتور داره)
### مورد ۱۹ (نمایندگی) به فاز ۴ منتقل شد:
- طرح مطالعاتی آماده است
- منتظر تأیید و تسویه کارفرما برای فاز ۳
- فاز ۴ جداگانه اجرا خواهد شد
---
## فاز ۳.۵ — اصلاحات اساسی 🔄
**هدف:** رفع نواقص شناسایی‌شده پس از تست لوکال + افزودن قابلیت‌های ضروری
> ⚠️ **این فاز قبل از ارائه نهایی به کارفرما باید تکمیل شود.**
### ۳.۵.۱ — Multi-Package در فرم سفارش مشتری 🔴 ضروری
**مشکل:** در حال حاضر، مشتری می‌تونه فقط یه بسته ثبت کنه. در صورتی که:
- بک‌اند پشتیبانی از چند بسته (ShipmentPackage) رو داره ✅
- پنل ادمین Filament هم Repeater برای بسته‌ها داره ✅
- ولی فرم سفارش مشتری (وردپرس) فقط یه بسته می‌گیره ❌
**راه حل:**
- اضافه‌کردن قابلیت "افزودن بسته دیگر" در مرحله ۱ فرم سفارش
- هر بسته شامل: وزن واقعی، وزن حجمی، ابعاد، تعداد
- محاسبه مجموع وزن‌ها و قیمت نهایی
- نمایش لیست بسته‌های اضافه‌شده قبل از تأیید نهایی
**تأثیرات:**
- اصلاح `ifnex-order-form.js` (افزودن Repeater UI)
- اصلاح `buildOrderData()` (ارسال آرایه packages)
- اصلاح API `POST /customer/orders` (پذیرش packages[])
- اصلاح مدل Shipment (ایجاد خودکار ShipmentPackage)
### ۳.۵.۲ — فرم Invoice برای محموله‌های PARCEL 🔴 ضروری
**مشکل:** وقتی مشتری نوع محموله رو PARCEL انتخاب می‌کنه، باید فرم Invoice (اقلام گمرکی) رو پر کنه. در حال حاضر این فرم وجود نداره.
**راه حل:**
- اضافه‌کردن مرحله جدید به فرم سفارش (مرحله ۲.۵)
- نمایش این مرحله فقط وقتی نوع = PARCEL
- فیلدهای هر آیتم: Description, HS Code, Quantity, Unit Price (USD), Total (USD)
- امکان افزودن چندین آیتم (تا ۹ ردیف)
- محاسبه خودکار Total و نمایش مجموع
- ارسال items[] به API
**تأثیرات:**
- اصلاح `ifnex-order-form.js` (مرحله ۲.۵ با Repeater)
- اصلاح `ifnex-order-form.blade.php` (HTML مرحله جدید)
- اصلاح API `POST /customer/orders` (پذیرش items[])
### ۳.۵.۳ — پشتیبانی چندزبانه (i18n) 🟡 مهم
**مشکل:** سایت ۲ زبانه (فارسی + انگلیسی) هست با Polylang، ولی:
- تمام شورت‌کدها و فرم‌ها فقط فارسی هستن
- پیام‌های خطا و موفقیت فقط فارسی هستن
- فایل‌های JS پیام‌های hard-coded فارسی دارن
- فایل‌های PHP رشته‌های hard-coded فارسی دارن
**راه حل:**
- استخراج تمام رشته‌های متنی به فایل‌های ترجمه
- استفاده از `__()` و `_e()` در وردپرس
- استفاده از `__('text', 'ifnex-bridge')` در فایل‌های PHP پلاگین
- استفاده از `wp_localize_script` برای ارسال ترجمه‌ها به JS
- افزودن فایل‌های `.po/.mo` برای زبان‌های فارسی و انگلیسی
- پشتیبانی از RTL/LTR به‌صورت خودکار بر اساس زبان فعال
**تأثیرات:**
- اصلاح تمام فایل‌های `ifnex-bridge/includes/*.php`
- اصلاح `ifnex-order-form.js` (استفاده از متغیرهای ترجمه)
- ساخت فایل‌های ترجمه در `ifnex-bridge/languages/`
- اصلاح CSS برای پشتیبانی RTL/LTR
### ۳.۵.۴ — تست و نهایی‌سازی 🟡 مهم
- [ ] تست تولید PDF با بارکد
- [ ] تست Multi-Package
- [ ] تست Invoice Form برای PARCEL
- [ ] تست زبان انگلیسی
- [ ] دیپلوی روی سرور
- [ ] تست نهایی روی سرور
---
@ -148,9 +223,68 @@
3. پنل نماینده در Filament (گزارش‌ها + تسویه)
4. لینک معرف اختصاصی + صفحه لندینگ ثبت‌نام
### سایر موارد فاز ۴:
- [ ] ویرایش پروفایل مشتری (نام، تلفن، آدرس)
- [ ] استان/شهر بر اساس کشور (Dynamic dropdowns)
---
## فاز ۵ (آینده) — تجاری‌سازی و Premium 📋
**وضعیت:** طرح مطالعاتی آماده
### 🎯 مدل تجاری پیشنهادی
به‌جای نسخه رایگان، یه **مدل پولی چندلایه‌ای** پیشنهاد می‌شه (چون بازار هدف محدود هست):
```
┌─────────────────────────────────────────┐
│ IFNEX Starter (پرداخت یک‌بار/ماهانه) │
│ ├── پنل مشتری پایه │
│ ├── فرم سفارش ساده │
│ ├── PDF استاندارد (AWB/Invoice/Label) │
│ ├── اکسپورت اکسل پایه │
│ └── پشتیبانی ایمیل │
└─────────────────────────────────────────┘
↓ (ارتقا)
┌─────────────────────────────────────────┐
│ IFNEX Business │
│ ├── تمام امکانات Starter │
│ ├── Multi-Package │
│ ├── سیستم نمایندگی (فاز ۴) │
│ ├── گزارش‌های مالی پیشرفته │
│ ├── اکسپورت اکسل کامل │
│ ├── API ترکینگ زنده (TrackingMore) │
│ └── پشتیبانی اولویت‌دار │
└─────────────────────────────────────────┘
↓ (ارتقا)
┌─────────────────────────────────────────┐
│ IFNEX Enterprise │
│ ├── تمام امکانات Business │
│ ├── فرم‌ساز Drag & Drop │
│ ├── White-label branding │
│ ├── API Gateway برای توسعه‌دهندگان │
│ ├── پلاگین SMS │
│ ├── Multi-language │
│ ├── پشتیبانی اختصاصی ۲۴/۷
│ └── آموزش تیمی │
└─────────────────────────────────────────┘
```
### قابلیت‌های Premium برای فاز ۵:
| فیچر | Starter | Business | Enterprise |
|------|---------|----------|------------|
| پنل مشتری | ✅ | ✅ | ✅ |
| فرم سفارش ساده | ✅ | ✅ | ✅ |
| PDF استاندارد | ✅ | ✅ | ✅ |
| اکسپورت اکسل پایه | ✅ | ✅ | ✅ |
| Multi-Package | ❌ | ✅ | ✅ |
| سیستم نمایندگی | ❌ | ✅ | ✅ |
| گزارش‌های پیشرفته | ❌ | ✅ | ✅ |
| API ترکینگ زنده | ❌ | ✅ | ✅ |
| فرم‌ساز Drag & Drop | ❌ | ❌ | ✅ |
| White-label | ❌ | ❌ | ✅ |
| API Gateway | ❌ | ❌ | ✅ |
| پشتیبانی ۲۴/۷ | ❌ | ❌ | ✅ |
### سایر موارد فاز ۵:
- [ ] اتصال به APIهای ترکینگ زنده (TrackingMore/17track)
- [ ] پلاگین SMS برای اطلاع‌رسانی خودکار
- [ ] مستندات API (OpenAPI/Swagger)
@ -158,6 +292,8 @@
- [ ] تست‌های واحد و Integration
- [ ] اپلیکیشن موبایل (احتمالی)
- [ ] بهبود سئو وب‌سایت وردپرس
- [ ] ویرایش پروفایل مشتری
- [ ] استان/شهر بر اساس کشور
---
@ -167,6 +303,8 @@
┌─────────────────────────────────────────────────┐
│ کاربر نهایی │
│ (مرورگر وب / موبایل) │
│ ─ زبان فارسی (پیش‌فرض) │
│ ─ زبان انگلیسی (Polylang) │
└──────────────────┬──────────────────────────────┘
┌──────────▼──────────┐
@ -176,8 +314,10 @@
│ ─ قالب IFNEX │
│ ─ پلاگین IFNEX │
│ Bridge │
│ ─ Polylang (i18n) │
│ ─ دشبورد مشتری │
│ ─ فرم سفارش │
│ (Multi-Package) │
│ ─ صفحه پرداخت │
└──────────┬──────────┘
│ API (Sanctum/Bridge)
@ -190,6 +330,7 @@
│ ─ کیف پول │
│ ─ پرداخت │
│ ─ نوتیفیکیشن │
│ ─ PDF با بارکد │
└──────────┬──────────┘
┌──────────▼──────────┐
@ -233,6 +374,7 @@
| بک‌اند | Laravel 11 + PHP 8.2 |
| پنل ادمین | Filament 3.3.x |
| فرانت‌اند | WordPress 7.0.3 + قالب سفارشی |
| چندزبانه | Polylang (وردپرس) |
| پرداخت | Zarinpal + Mock Gateway (تست) |
| PDF | Dompdf + picqer/php-barcode |
| Excel | maatwebsite/excel |
@ -260,14 +402,15 @@
| معیار | مقدار |
|-------|-------|
| تعداد مایگریشن‌ها | ۲۳ |
| تعداد مایگریشن‌ها | ۲۸ |
| تعداد API endpoints | ۳۰+ |
| تعداد Filament Resources | ۱۰+ |
| تعداد مدل‌ها | ۱۳ |
| تعداد مدل‌ها | ۱۷ |
| تعداد شورت‌کدهای وردپرس | ۱۰+ |
| تعداد کشورها با پیش‌شماره | ۱۹۲ |
| رکوردهای تاریخی مهاجرت‌شده | ۳۹۵۰ |
| تعداد موارد کارفرما (فاز ۳) | ۱۸ مورد ✅ |
| زبان‌های پشتیبانی‌شده | ۲ (فارسی، انگلیسی) |
| خطوط کد (تخمینی) | ۱۵۰۰۰+ |
---
@ -278,16 +421,22 @@
- معماری Headless مقیاس‌پذیر
- امنیت چندلایه (API Key + Sanctum + Bridge Key)
- پشتیبانی از ۱۹۲ کشور با پیش‌شماره استاندارد
- تولید PDF حرفه‌ای با بارکد
- تولید PDF حرفه‌ای با بارکد (مطابق نمونه کارفرما)
- Mock Gateway برای تست بدون درگاه واقعی
- سیستم نوتیفیکیشن دیتابیس برای ادمین و مشتری
- رابط کاربری مدرن و واکنش‌گرا
### ⚠️ نکات قابل توجه
- تست لوکال نیازمند XAMPP و فعال‌سازی Bridge API Key
- Mock Gateway فقط زمانی فعال میشه که `ZARINPAL_MERCHANT_ID=fake-merchant-id-for-testing`
- توکن Bridge ۳۰ روز اعتبار دارد و سپس باید تمدید شود
- فایل‌های PDF باید انگلیسی باشند (برای حمل بین‌المللی)
### ⚠️ نواقص باقیمانده (فاز ۳.۵)
- Multi-Package در فرم سفارش مشتری
- فرم Invoice برای محموله‌های PARCEL
- پشتیبانی کامل چندزبانه (i18n)
- تست نهایی روی سرور
### 📋 برای آینده
- تجاری‌سازی با مدل پولی چندلایه‌ای
- سیستم نمایندگی کامل
- فرم‌ساز پیشرفته
- API Gateway برای توسعه‌دهندگان
---

View File

@ -175,13 +175,26 @@ IFNEX-Logistics/
- اعتبارسنجی تلفن (فقط اعداد، +، فاصله)
- استایل مدرن تراکنش‌ها و دشبورد مشتری
- صفحه شارژ کیف پول با مبالغ آماده
- بازطراحی PDFها (AWB, Invoice, Label) با بارکد مطابق نمونه کارفرما
- اصلاح متدهای Enum (isPaid, canBeCancelledByCustomer)
- میدلور API برای بازگرداندن JSON 401 به جای redirect
### فاز ۳.۵ — اصلاحات اساسی 🔄 (در دست اقدام)
- Multi-Package در فرم سفارش مشتری (چند بسته در یک سفارش)
- فرم Invoice برای محموله‌های PARCEL (اقلام گمرکی)
- پشتیبانی کامل چندزبانه (i18n) با Polylang
- تست و نهایی‌سازی
### فاز ۴ (آینده) — سیستم نمایندگی 📋
- مدل نمایندگی کامل با کمیسیون و پنل جداگانه
- طرح مطالعاتی آماده — منتظر تأیید کارفرما
### فاز ۵ (آینده) — تجاری‌سازی 📋
- مدل پولی چندلایه‌ای: Starter / Business / Enterprise
- فرم‌ساز Drag & Drop
- White-label branding
- API Gateway برای توسعه‌دهندگان
---
## ⚡ شروع سریع
@ -309,24 +322,37 @@ php artisan serve
| فایل | محتوا | اولویت |
|------|-------|--------|
| [IFNEX_Phase0_Checklist.md](01_Documents/IFNEX_Phase0_Checklist.md) | چک‌لیست کامل فازها | ⭐⭐⭐ |
| [IFNEX_Roadmap.md](01_Documents/IFNEX_Roadmap.md) | نقشه راه آینده | ⭐⭐⭐ |
| [IFNEX_Roadmap.md](01_Documents/IFNEX_Roadmap.md) | نقشه راه آینده (فاز ۳.۵، ۴، ۵) | ⭐⭐⭐ |
| [IFNEX_File_Map.md](01_Documents/IFNEX_File_Map.md) | نقشه ۱۰۰+ فایل پروژه | ⭐⭐⭐ |
| [IFNEX_I18N_Strategy.md](01_Documents/IFNEX_I18N_Strategy.md) | استراتژی چندزبانه (Polylang) | ⭐⭐ |
| [IFNEX_Commercial_Model.md](01_Documents/IFNEX_Commercial_Model.md) | مدل تجاری و پلن‌های فروش | ⭐⭐ |
| [DEPLOYMENT.md](DEPLOYMENT.md) | راهنمای استقرار Production | ⭐⭐ |
| [04_Laravel/README.md](04_Laravel/README.md) | راهنمای بک‌اند | ⭐⭐ |
| [IFNEX_DEPRECATED_FILES_NOTICE.md](01_Documents/IFNEX_DEPRECATED_FILES_NOTICE.md) | فایل‌های منسوخ | ⭐ |
---
## 🚀 مراحل بعدی (فاز ۴)
## 🚀 مراحل بعدی
### فاز ۳.۵ (فوری — قبل از ارائه به کارفرما)
- Multi-Package در فرم سفارش مشتری
- فرم Invoice برای محموله‌های PARCEL
- پشتیبانی کامل چندزبانه (i18n) با Polylang
### فاز ۴ (آینده)
- سیستم نمایندگی کامل با کمیسیون و پنل جداگانه
### فاز ۵ (آینده — تجاری‌سازی)
- مدل پولی چندلایه‌ای: Starter / Business / Enterprise
- اتصال به APIهای ترکینگ زنده (TrackingMore/17track)
- پلاگین SMS برای اطلاع‌رسانی خودکار
- مستندات API (OpenAPI/Swagger)
- راهنمای اپراتور (Operator Manual)
- تست‌های واحد و Integration
- اپلیکیشن موبایل (احتمالی)
- ویرایش پروفایل مشتری + استان/شهر بر اساس کشور
- فرم‌ساز Drag & Drop
- White-label branding
- API Gateway برای توسعه‌دهندگان
---