From b5e136a76db35abdded3113c6467970a84378c8e Mon Sep 17 00:00:00 2001 From: Kazem Alghasi Date: Sat, 29 Aug 2026 05:19:54 +0330 Subject: [PATCH] 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. --- 01_Documents/IFNEX_Commercial_Model.md | 270 +++++++++++++++++++++++++ 01_Documents/IFNEX_I18N_Strategy.md | 218 ++++++++++++++++++++ 01_Documents/IFNEX_Phase0_Checklist.md | 84 +++++++- 01_Documents/IFNEX_Roadmap.md | 201 +++++++++++++++--- README.md | 32 ++- 5 files changed, 774 insertions(+), 31 deletions(-) create mode 100644 01_Documents/IFNEX_Commercial_Model.md create mode 100644 01_Documents/IFNEX_I18N_Strategy.md diff --git a/01_Documents/IFNEX_Commercial_Model.md b/01_Documents/IFNEX_Commercial_Model.md new file mode 100644 index 0000000..20377aa --- /dev/null +++ b/01_Documents/IFNEX_Commercial_Model.md @@ -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. diff --git a/01_Documents/IFNEX_I18N_Strategy.md b/01_Documents/IFNEX_I18N_Strategy.md new file mode 100644 index 0000000..ce92f07 --- /dev/null +++ b/01_Documents/IFNEX_I18N_Strategy.md @@ -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 '

برای مشاهده پروفایل، باید وارد شوید.

'; + +// ✅ بعد: +return '

' . __('برای مشاهده پروفایل، باید وارد شوید.', 'ifnex-bridge') . '

'; +``` + +#### فایل‌های موردنیاز برای اصلاح: +- [ ] `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( + '' +); +``` + +### ۲. ساخت فایل‌های ترجمه + +#### ۲.۱ ساختار پوشه +``` +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. diff --git a/01_Documents/IFNEX_Phase0_Checklist.md b/01_Documents/IFNEX_Phase0_Checklist.md index c0015cd..9c85beb 100644 --- a/01_Documents/IFNEX_Phase0_Checklist.md +++ b/01_Documents/IFNEX_Phase0_Checklist.md @@ -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 — نقشه فایل‌های پروژه diff --git a/01_Documents/IFNEX_Roadmap.md b/01_Documents/IFNEX_Roadmap.md index 281e08b..c568e63 100644 --- a/01_Documents/IFNEX_Roadmap.md +++ b/01_Documents/IFNEX_Roadmap.md @@ -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 برای توسعه‌دهندگان --- diff --git a/README.md b/README.md index 17a30f6..d44c0c1 100644 --- a/README.md +++ b/README.md @@ -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 برای توسعه‌دهندگان ---