Go to file
Kazem Alghasi 1ee4cde620 docs: fix formatting in README header
Remove unnecessary empty header line to improve document structure.
2026-11-08 07:43:06 +03:30
01_Documents feat(core): complete phase 3.11 and prepare for production deployment 2026-11-08 06:28:21 +03:30
03_WordPress chore: untrack wp-config.php (security) + remove test PDF + apply 401 fix to smoke-test 2026-11-08 06:42:13 +03:30
04_Laravel chore: untrack wp-config.php (security) + remove test PDF + apply 401 fix to smoke-test 2026-11-08 06:42:13 +03:30
docs feat(core): complete phase 3.11 and prepare for production deployment 2026-11-08 06:28:21 +03:30
.gitignore refactor(core): harden production environment and fix discount logic 2026-10-31 19:18:58 +03:30
AGENT.md feat(core): complete phase 3.11 and prepare for production deployment 2026-11-08 06:28:21 +03:30
CLIENT_DELIVERY.md feat(uat): implement smoke test command and UAT documentation 2026-11-01 11:36:25 +03:30
DEPLOYMENT_HANDOFF.md feat(core): complete phase 3.11 and prepare for production deployment 2026-11-08 06:28:21 +03:30
RATE_IMPORTER.md feat(core): complete phase 3.11 and prepare for production deployment 2026-11-08 06:28:21 +03:30
README.md docs: fix formatting in README header 2026-11-08 07:43:06 +03:30
UAT-3.11.md feat(uat): implement smoke test command and UAT documentation 2026-11-01 11:36:25 +03:30

🚀 IFNEX Logistics Management System

پلتفرم جامع مدیریت لجستیک بین‌المللی

Laravel PHP Filament WordPress MySQL Status Tests License


جایگزینی فرآیندهای دستی مبتنی بر اکسل با معماری Headless مدرن

📚 مستندات • ⚡ شروع سریع • 🏗️ معماری • 📞 تماس


📖 دربارهٔ پروژه

IFNEX راه‌حل جامعی برای شرکت‌های حمل‌ونقل بین‌المللی است که فرآیندهای مبتنی بر فایل‌های اکسل را با یک سیستم Headless مدرن جایگزین می‌کند. این سیستم با تکیه بر Laravel 11 به‌عنوان بک‌اند، WordPress به‌عنوان فرانت‌اند و Filament 3.3 به‌عنوان پنل مدیریت، تجربه‌ای یکپارچه برای اپراتورها و مشتریان فراهم می‌آورد.

✨ امکانات کلیدی

  • معماری ارزی IRR-only — ارز مبنا = ریال ایران؛ تبدیل ارز در زمان ایمپورت، نه محاسبه
  • موتور قیمت‌گذاری هوشمند با ۴-رُبعی (Export/Import × Doc/Parcel) و ایمپورت از اکسل
  • دریافت خودکار نرخ ارز از Exir.io (USD/AED) + FreeCurrencyAPI (EUR/CNY) با کرون روزانه
  • فاکتورهای دستی مدیر — صدور فاکتور برای خدمات خارج از سفارش + پرداخت از کیف پول + اعلان خودکار
  • ثبت سفارش آنلاین چندمرحله‌ای با Wizard و محاسبهٔ لحظه‌ای قیمت
  • پشتیبانی چندبسته‌ای (Multi-Package) در یک سفارش با محاسبهٔ خودکار وزن حجمی
  • دفترچه آدرس مشتری — ذخیره و انتخاب یک‌کلیکی آدرس‌های پرتکرار (فرستنده/گیرنده) با سقف ۵۰ رکورد و رکورد تکراری نداشتن
  • تولید خودکار اسناد (AWB، Invoice، Label، فاکتور واردات) با بارکد Code-128 و پشتیبانی کامل از زبان انگلیسی
  • پورتال مشتری کامل با کیف پول، پرداخت آنلاین، فاکتورهای دستی، دفترچه آدرس، تراکنش‌ها، اعلان‌ها و رهگیری مرسوله
  • فلوی تأیید سفارش با مسیر pending_approval → approved → paid → processed
  • چرخهٔ تعهدنامه با فلوی کامل End-to-End (دانلود قالب ← آپلود امضاشده ← تأیید یا رد ادمین ← اعلان مشتری)
  • سیستم اعتبار چندارزی — بدهی به همان ارز ثبت می‌شود، تسویه با نرخ روز
  • مانده حساب با نمایش موجودی کیف پول منهای بدهی‌های تأییدشده (سفارشات + فاکتورهای دستی)
  • وضعیت مالی مشتری — صفحهٔ جامع در پنل ادمین (۴ KPI + بدهی‌های ارزی + سفارش‌ها و تراکنش‌ها)
  • ویجت هشدار بدهی‌های ارزی روی داشبورد به‌همراه badge روی منو
  • چک‌لیست خودکار کارمند — نمونه‌سازی از قالب پس از تأیید سفارش
  • ایمپورت گروهی وضعیت ترکینگ با فایل CSV در پنل مدیریت
  • سیستم Audit Log برای ثبت لاگ تغییرات مدیر
  • پنل مدیریت قدرتمند Filament شامل مدیریت مرسوله‌ها، نرخ‌ها، ارزها، فاکتورهای دستی، کاربران و گزارش‌ها
  • سیستم ترکینگ با مهاجرت داده‌های تاریخی و تایم‌لاین کامل
  • اعلان‌های دیتابیس برای ادمین و مشتری با badge unread در سایدبار
  • Rate Limiting روی همهٔ APIها (۶ لایه: auth / sms / public / customer / wallet / staff)
  • پشتیبانی از ۱۹۲ کشور با پیش‌شمارهٔ تلفن استاندارد ISO 3166-1
  • اعتبارسنجی فرم‌ها با تشخیص خودکار زبان فارسی/انگلیسی و پیش‌شمارهٔ خودکار
  • سرویس پیامک Kavenegar برای تأیید موبایل و ارسال اعلان وضعیت سفارش
  • دستورات خودکار استقرار — ifnex:preflight (fail-fast)، ifnex:import-fx-rates (نرخ ارز)، ifnex:smoke-test (E2E post-deploy)

🏗️ معماری سیستم

این پروژه بر اساس الگوی Headless طراحی شده است — فرانت‌اند (WordPress) و بک‌اند (Laravel) کاملاً جدا و فقط از طریق REST API با هم ارتباط دارند. این جداسازی امکان مقیاس‌پذیری مستقل هر لایه، بهبود امنیت و افزودن فرانت‌اندهای آینده (مثل اپلیکیشن موبایل) را می‌دهد.

┌──────────────────────────────────────────────────────┐
│                  CLIENT BROWSER                     │
└────────────────────────┬─────────────────────────────┘
                         │
┌────────────────────────▼─────────────────────────────┐
│              WORDPRESS (Frontend)                    │
│  ┌───────────────────┐  ┌──────────────────────────┐ │
│  │   IFNEX Theme     │  │   IFNEX Bridge Plugin    │ │
│  │   (Landing Page)  │  │   (REST Client + AJAX)   │ │
│  └───────────────────┘  └────────────┬─────────────┘ │
└───────────────────────────────────────┼──────────────┘
                                        │ REST API (Sanctum + Bridge Key)
┌───────────────────────────────────────▼──────────────┐
│              LARAVEL 11 (Backend)                    │
│  ┌─────────────────┐  ┌──────────────┐  ┌──────────┐ │
│  │   Filament      │  │   API         │  │ Services │ │
│  │   Admin Panel   │  │   Controllers │  │ (Pricing,│ │
│  │   (/panel)      │  │   (/api/v1)   │  │  PDF,    │ │
│  └─────────────────┘  └──────┬───────┘  │ Payment) │ │
└──────────────────────────────┼──────────┴──────────┘
                               │
                  ┌────────────▼────────────┐
                  │     MySQL 8 Database    │
                  │  (62 migrations, 31     │
                  │   models)               │
                  └─────────────────────────┘

جریان احراز هویت

┌──────────┐        ┌─────────────────┐      ┌──────────────┐
│ WordPress│ ──POST /bridge/login──> │ Laravel Bridge  │ ──> │ Sanctum Token│
│  Plugin  │ <──token + user info── │ Controller      │ <──  │ (30 days)    │
└──────────┘                        └─────────────────┘      └──────────────┘
     │                                                                   │
     │ ──────── All subsequent API calls with Bearer Token ──────────────>│
 └─────────────────────────────────────────────────────────────────────────┘

📁 ساختار پروژه

IFNEX-Logistics/
├── 📄 01_Documents/                  # مستندات فنی پروژه
│   ├── IFNEX_File_Map.md             # نقشهٔ کامل فایل‌های پروژه
│   ├── IFNEX_Roadmap.md              # نقشهٔ راه فازی (۰ تا ۳.۱۱ + آینده ۴/۵)
│   ├── IFNEX_ADR.md                  # تصمیمات معماری (ADR-001 تا 009)
│   ├── IFNEX_Commercial_Model.md     # مدل تجاری (Starter/Business/Enterprise)
│   ├── IFNEX_Pro_Backlog.md          # فیچرهای نگه‌داشته‌شده برای نسخه Pro
│   ├── IFNEX_I18N_Strategy.md        # استراتژی چندزبانه (موکول به زمان دیپلوی)
│   ├── DESIGN_SYSTEM.md              # سیستم طراحی
│   ├── EXCEL_ANALYSIS.md             # تحلیل داده‌های تاریخی
│   └── archives/                     # اسناد منسوخ‌شده (PRD_v2، Project_Roadmap قدیم)
│
├── 🌐 03_WordPress/                  # فرانت‌اند (WordPress 7.1)
│   └── wp-content/
│       ├── themes/ifnex/             # قالب سفارشی IFNEX
│       └── plugins/ifnex-bridge/     # پلاگین ارتباط با لاراول
│           ├── includes/
│           │   ├── api-client.php       # ارتباط مستقیم با API
│           │   ├── user-bridge.php      # احراز هویت Bridge + AJAX handlers
│           │   ├── shortcodes.php       # ۱۰+ شورت‌کد
│           │   └── tracking-form.php    # فرم رهگیری
│           └── assets/
│               ├── css/                 # استایل داشبورد + دفترچه آدرس
│               └── js/                  # فرم چندمرحله‌ای + دفترچه آدرس
│
├── ⚙️ 04_Laravel/                    # بک‌اند (Laravel 11)
│   ├── app/
│   │   ├── Console/Commands/         # ifnex:preflight, import-fx-rates, smoke-test + ۶ دستور قدیمی
│   │   ├── Enums/                    # ShipmentStatus، Direction، Type
│   │   ├── Filament/
│   │   │   ├── Resources/            # ۱۹ Resource (Shipment، AddressBookEntry و…)
│   │   │   ├── Pages/                # Dashboard، IfnexSettings، ImportRates، CustomerFinancialOverview
│   │   │   └── Widgets/              # داشبورد
│   │   ├── Http/
│   │   │   ├── Controllers/Api/      # Track، Pricing، Auth، Bridge، Customer، Wallet، Payment، AddressBook
│   │   │   └── Middleware/           # ApiKeyMiddleware، StaffApiMiddleware، SetCspHeaders
│   │   ├── Models/                   # ۳۱ مدل Eloquent
│   │   ├── Notifications/            # اعلان‌های دیتابیسی + SMS
│   │   ├── Services/                 # PriceCalculator، Pdf، Tracking، OrderPayment، DiscountCode، CustomerCredit، AddressBook
│   │   └── Imports/                  # ایمپورت اکسل (OldShipments، ShippingRates)
│   ├── database/
│   │   ├── migrations/               # ۶۲ migration
│   │   └── seeders/                  # Countries، SystemSettings، Currency، RoleAndPermission، DatabaseSeeder
│   ├── scripts/                      # deploy.sh + cron-exir-rates.sh + one-off/
│   ├── resources/views/
│   │   ├── pdfs/                     # awb، invoice، label، import-invoice
│   │   └── filament/                 # Blade views
│   └── routes/
│       ├── api.php                   # ۵۰+ endpoint
│       └── web.php                   # روت‌های وب + دانلود Template
│
├── 📋 README.md                      # همین فایل
├── 📋 AGENT.md                       # راهنمای ایجنت
├── 📋 CLIENT_DELIVERY.md             # چک‌لیست وضعیت تحویل مشتری (منبع اصلی وضعیت)
├── 📋 UAT-3.11.md                    # چک‌لیست ۴۳ موردی UAT نهایی کارفرما (فاز ۳.۱۱)
├── 📋 RATE_IMPORTER.md               # راهنمای ایمپورت نرخ‌ها (سیستم ۴-رُبعی)
└── 📋 DEPLOYMENT_HANDOFF.md          # تحویل استقرار به تیم IT کارفرما

✨ ویژگی‌ها بر اساس فازها

فاز ۰ — بنیان سیستم ✅ (۱۰۰٪)

  • اسکیمای دیتابیس مدرن با ۴ زون مجزا (Export/Import × Parcel/Doc)
  • مهاجرت ۳۹۵۰ رکورد تاریخی از اکسل به دیتابیس
  • پنل مدیریت Filament با UX تخصصی اپراتور
  • API ترکینگ با امنیت کلید API و Rate Limiting
  • پلاگین WordPress Bridge برای ارتباط با فرانت‌اند

فاز ۱ — پورتال مشتری ✅ (۱۰۰٪)

  • احراز هویت Laravel Sanctum + Bridge Auth (بدون نیاز به رمز عبور)
  • فرم ثبت سفارش چندمرحله‌ای با Wizard (مسیر، اطلاعات تماس، تخفیف، تأیید)
  • داشبورد جامع مشتری: داشبورد، سفارش‌ها، ثبت سفارش، کیف پول، تراکنش‌ها، رهگیری، اعلان‌ها، پروفایل
  • سیستم ترکینگ با تایم‌لاین و تاریخچهٔ کامل

فاز ۲ — مالی و کیف پول ✅ (۱۰۰٪)

  • سیستم کیف پول کامل با تراکنش‌ها و تاریخچه
  • درگاه پرداخت Zarinpal + Mock Gateway برای تست لوکال
  • مدیریت ارزهای چندگانه (IRR، AED، USD، EUR، CNY)
  • کدهای تخفیف با اعتبارسنجی و محدودیت مصرف
  • تولید PDF حرفه‌ای (AWB، Invoice، Label) با بارکد استاندارد
  • پشتیبانی از چند بسته در یک سفارش (Multi-Package)
  • تاریخچهٔ تغییرات وضعیت (ShipmentStatusHistory)

فاز ۳ — بهبود و یکپارچه‌سازی ✅ (۱۰۰٪)

  • ایمپورت/اکسپورت نرخ‌ها با دانلود Template اکسل
  • سیستم اعلان‌های دیتابیس (ادمین + مشتری) با badge unread در سایدبار
  • هشدار هوشمند زبان فارسی/انگلیسی در فرم سفارش (نام، شهر، آدرس)
  • پیش‌شمارهٔ تلفن خودکار بر اساس کشور انتخابی (۱۹۲ کشور)
  • اعتبارسنجی تلفن (فقط اعداد، + و فاصله)
  • استایل مدرن تراکنش‌ها و داشبورد مشتری
  • صفحهٔ شارژ کیف پول با مبالغ آماده
  • بازطراحی PDFها (AWB، Invoice، Label) با بارکد مطابق نمونهٔ کارفرما
  • اصلاح متدهای Enum (isPaid، canBeCancelledByCustomer)
  • میدلور API برای بازگرداندن JSON 401 به‌جای redirect

فاز ۳.۵ — اصلاحات اساسی ✅ (۱۰۰٪)

  • Multi-Package در فرم سفارش مشتری (چند بسته در یک سفارش)
  • فرم Invoice برای محموله‌های PARCEL (اقلام گمرکی با HS Code)
  • بازطراحی PDFها (AWB، Invoice، Label) با بارکد مطابق نمونهٔ کارفرما
  • تست کامل ترکینگ با تایم‌لاین چندمرحله‌ای
  • محاسبهٔ خودکار وزن حجمی از ابعاد (فرمول: L × W × H / 5000)
  • ساختار ۵ مرحله‌ای فرم سفارش (مسیر ← تماس ← اقلام ← تخفیف ← تأیید)
  • اصلاحات فنی (Enum casts، migration، model)
  • پشتیبانی چندزبانه (i18n) — موکول به زمان دیپلوی

فاز ۳.۶ — اصلاحات جلسهٔ کارفرما ✅ (۱۰۰٪)

  • فلوی تأیید سفارش pending_approval → approved → پرداخت → processed — تست End-to-End
  • تعهدنامه‌ها با فلوی کامل (دانلود قالب ← آپلود امضاشده ← تأیید/رد ادمین ← اعلان مشتری)
  • دانلود اسناد سفارش (AWB، Invoice، Label، فاکتور واردات) در پورتال مشتری
  • صفحهٔ «وضعیت مالی مشتری» در پنل ادمین (۴ KPI + بدهی ارزی + سفارش‌ها و تراکنش‌ها)
  • سیستم اعتبار چندارزی کامل (درخواست ۹) — CustomerCreditService + نمایش در پورتال مشتری
  • ویجت هشدار بدهی‌های ارزی روی داشبورد + badge قرمز روی منو
  • چک‌لیست خودکار پس از تأیید سفارش (درخواست ۵) — instantiateChecklist()
  • Rate Limiting روی همهٔ APIها (۶ لایه throttle)
  • ایمپورت گروهی وضعیت ترکینگ با CSV در پنل (BulkTrackingImport)
  • Audit Log برای مدل‌های اصلی + ShipmentStatusHistory با from_status / to_status
  • اتصال SMS کاوه‌نگار: تأیید/رد سفارش، پرداخت موفق، به‌روزرسانی ترکینگ + تنظیمات پنل
  • فاکتور واردات (Import Invoice) با فیلدهای جدید shipments + قالب PDF
  • مانده حساب (موجودی منهای بدهی‌های تأییدشده) در پروفایل مشتری
  • بازطراحی داشبورد و Login فیلمنت (هویت بصری navy + amber)
  • بازطراحی AWB، Invoice و Label (dompdf، چیدمان جدولی، سبک DHL)
  • استایل‌دهی صفحهٔ پروفایل مشتری در وردپرس
  • پاک‌سازی کد — حذف فایل‌های تستی، تأیید تمیزی opcache_reset / dd / dump

فاز ۳.۷ — اصلاحات ارزی و فاکتور دستی ✅ (۱۰۰٪)

  • سیستم ۴-رُبعی نرخ‌ها (Export/Import × Doc/Parcel) با ایمپورت از اکسل
  • معماری IRR-only — ارز مبنا = ریال ایران، حذف جفت‌ارز و تبدیل در زمان ایمپورت
  • ایمپورت فایل اصلی مشتری + قالب جدید IFNEX_Rate_Template.xlsx
  • حذف تمام «تومان» و «درهم» از نمایش قیمت‌های داخلی در همه UIها
  • فاکتورهای دستی مدیر — صدور، پرداخت از کیف پول، اعلان خودکار
  • تب «فاکتورهای دستی» در پورتال وردپرس (لیست + جزئیات + پرداخت)
  • اضافه شدن فاکتورها به وضعیت مالی و داشبورد مشتری
  • فرمت هزارگان در فیلدهای عددی فرم فاکتور ادمین

فاز ۳.۸ — برندینگ و تجربهٔ کاربری ✅ (۱۰۰٪)

  • Favicon حرفه‌ای IFNEX — هواپیمای کاغذی کهربایی روی سرمه‌ای (مولتی‌سایز + SVG + webmanifest)
  • صفحهٔ / برندشده — جایگزین welcome پیش‌فرض لاراول (RTL، وزیرمتن)
  • جمع‌شدن کارت لاگین فیلمنت — عرض ۴۴۰←۳۸۰px، موبایل-فرندلی
  • SweetAlert2 برای خطاهای فرم سفارش وردپرس — باندل محلی بدون CDN

فاز ۳.۸.۱ — سخت‌سازی Production ✅ (۱۰۰٪)

  • باگ P0 کد تخفیف — DiscountCodeService + جدول discount_code_usages (idempotency + قفل رقابتی)
  • گارد Mock Gateway در Production — OrderPaymentService با Log::critical
  • حذف هک‌های دیباگ از ۵ فایل پلاگین وردپرس (opcache_reset / header / cache-buster)
  • نسخه‌بندی سالم assetها — filemtime + ثابت IFNEX_BRIDGE_VERSION
  • سخت‌سازی آپلود — بررسی mimetype واقعی فایل
  • خروج wp-config.php از گیت (saltها لو‌رفته فرض می‌شوند)
  • چک‌لیست امنیتی استقرار در DEPLOYMENT_HANDOFF.md (بخش ۴.۴)

فاز ۳.۹ — دفترچه آدرس ✅ (۱۰۰٪)

  • مدل + جدول address_book_entries — نقش sender/receiver، سقف ۵۰ رکورد
  • CRUD API محافظت‌شده با Sanctum — GET/POST/PUT/DELETE /api/v1/addresses + POST /{id}/default
  • اتصال به ثبت سفارش — چک‌باکس «ذخیره این آدرس» + dropdown در فرم
  • تب «دفترچه آدرس» در پنل کاربری وردپرس — کارت‌های آدرس + فیلتر + فرم
  • ۴ پروکسی AJAX امن (nonce + sanitize + توکن Sanctum)
  • ۱۸ تست Feature جدید — مالکیت، سقف، تکراری، پیش‌فرض

فاز ۳.۱۰ — استقرار Production ✅ (۱۰۰٪)

  • ifnex:preflight — دستور fail-fast برای ممیزی محیط Production پیش از migrate
  • ifnex:import-fx-rates — جایگزین ifnex:update-rates با پشتیبانی از EUR/CNY + --auto-approve
  • CurrencySeeder — پنج ارز پایه (USD/AED/EUR/CNY/IRR)، idempotent
  • scripts/deploy.sh — اسکریپت خودکار ۱۳ مرحله‌ای استقرار با fail-fast
  • scripts/cron-exir-rates.sh — wrapper کرون روزانه
  • سخت‌سازی .env.example — MySQL پیش‌فرض، EXIR_API_URL، SANCTUM_STATEFUL_DOMAINS
  • رفع باگ latent در bootstrap/app.php — حذف use ApiKeyAuth که کلاس وجود نداشت
  • بهبود DatabaseSeeder — حساب super_admin با رمز password در Production ساخته نمی‌شود

فاز ۳.۱۱ — UAT نهایی ✅ (۱۰۰٪)

  • ifnex:smoke-test — دستور E2E خودکار Post-Deploy (۲۵+ بررسی: DB، داده‌ها، API endpoints)
  • ۹ تست Feature جدید — حالت‌های PASS/FAIL با Http::fake
  • UAT-3.11.md — چک‌لیست ۴۳ موردی فارسی برای کارفرما + فرم امضای تحویل
  • به‌روزرسانی CLIENT_DELIVERY.md — ثبت فازهای ۳.۱۰ و ۳.۱۱

⚠️ هشدار دربارهٔ فاز ۴ و ۵: هیچ‌یک از فیچرهای فاز ۴ (سیستم نمایندگی) و فاز ۵ (تجاری‌سازی) پیاده‌سازی نشده‌اند. این‌ها صرفاً طرح آینده‌اند و در بخش مراحل بعدی آمده‌اند. برای ارزیابی آمادگی واقعی پروژه، UAT-3.11.md را ببینید.


⚡ شروع سریع

پیش‌نیازها

  • PHP 8.2+ با اکستنشن‌های pdo_mysql، mbstring، xml، gd، zip
  • Composer 2.x
  • MySQL 8+
  • WordPress 7.1+

نصب بک‌اند (Laravel)

# ۱. کلون مخزن
git clone https://www.git.vernahost.ir/gitmodir110/ifnex.git
cd ifnex/04_Laravel

# ۲. نصب وابستگی‌ها
composer install

# ۳. تنظیم فایل محیط
cp .env.example .env
php artisan key:generate

# ۴. ایجاد دیتابیس
mysql -u root -p -e "CREATE DATABASE ifnex_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

# ۵. ویرایش .env — مقادیر کلیدی:
#    DB_DATABASE=ifnex_db
#    DB_USERNAME=root
#    DB_PASSWORD=your_password
#    IFNEX_BRIDGE_API_KEY=change-this-secret-key   # مهم برای وردپرس (پیش از استقرار با
#                                                   #  openssl rand -hex 32 جایگزین کن)
#    ZARINPAL_MERCHANT_ID=fake-merchant-id-for-testing   # برای Mock Mode
#    ZARINPAL_SANDBOX=true
#    CORS_ALLOWED_ORIGINS=http://localhost,http://127.0.0.1

# ۶. اجرای migrations و seeders
php artisan migrate --force
php artisan db:seed --class=CountriesTableSeeder --force
php artisan db:seed --class=SystemSettingSeeder --force
php artisan db:seed --class=CurrencySeeder --force
php artisan db:seed --class=RoleAndPermissionSeeder --force

# ۷. دریافت نرخ ارز اولیه
php artisan ifnex:import-fx-rates --source=all --auto-approve

# ۸. اجرای سرور
php artisan serve
# پنل ادمین: http://127.0.0.1:8000/panel

💡 نکته: برای استقرار Production، به‌جای اجرای دستی همهٔ مراحل بالا، از bash scripts/deploy.sh استفاده کنید — خودکار و fail-fast.

نصب فرانت‌اند (WordPress)

  1. پوشهٔ 03_WordPress را در htdocs (XAMPP) یا public_html (سرور) کپی کنید.

  2. دیتابیس وردپرس را بسازید و نصب را اجرا کنید.

  3. قالب IFNEX و پلاگین IFNEX Bridge را فعال کنید.

  4. تنظیمات پلاگین را کامل کنید (پنل وردپرس ← منوی IFNEX):

    تنظیم مقدار
    API URL http://localhost:8000/api/v1
    API Key (عمومی) همان مقدار IFNEX_API_KEY در .env لاراول
    Bridge API Key همان مقدار IFNEX_BRIDGE_API_KEY در .env لاراول
  5. صفحات را با شورت‌کدها بسازید:

    صفحه شورت‌کد
    /my-account/ [ifnex_customer_dashboard]
    /my-orders/ [ifnex_orders_list]
    /new-order/ [ifnex_order_form]
    /wallet/ [ifnex_wallet_charge]
    /tracking/ [ifnex_tracking_form]

📖 برای راهنمای کامل استقرار روی سرور، DEPLOYMENT_HANDOFF.md را ببینید. برای راهنمای ایمپورت نرخ‌ها، RATE_IMPORTER.md را ببینید.


🛠️ استک فنی

بک‌اند (Laravel)

تکنولوژی نسخه کاربرد
Laravel 11.x فریمورک اصلی
PHP 8.2+ زبان برنامه‌نویسی
Filament 3.3.x پنل مدیریت ادمین
MySQL 8+ دیتابیس
Dompdf Latest تولید PDF
Laravel Excel Latest Import / Export
Sanctum Latest احراز هویت API
Morilog Jalali 3.x تاریخ شمسی
picqer/php-barcode Latest تولید بارکد
Spatie Permission 6.x مدیریت نقش‌ها

فرانت‌اند (WordPress)

تکنولوژی نسخه کاربرد
WordPress 7.1 CMS
IFNEX Theme Custom قالب سفارشی
IFNEX Bridge 2.1.0 پلاگین ارتباطی
jQuery 3.x AJAX + DOM

زیرساخت

سرویس کاربرد
HestiaCP پنل مدیریت سرور
Nginx وب‌سرور
PHP-FPM پردازش PHP
MySQL 8 دیتابیس
Let's Encrypt SSL رایگان
Git (Gitea) مخزن کد

📊 آمار پروژه

معیار مقدار
تعداد مایگریشن‌ها ۶۲
تعداد API endpoints ۵۰+
تعداد Filament Resources ۱۹
تعداد مدل‌ها ۳۱
تعداد شورت‌کدهای وردپرس ۱۰+
تعداد کشورها با پیش‌شماره ۱۹۲
رکوردهای تاریخی مهاجرت‌شده ۳۹۵۰
تعداد تست‌های Feature ۸۲
تعداد assertion‌ها ۲۲۰+
خطوط کد (تخمینی) ۲۵۰۰۰+

🧪 تست

تست‌های خودکار (Feature Tests)

cd 04_Laravel
php artisan test
# انتظار: 82 passed, 220+ assertions

تست E2E Post-Deploy (فاز ۳.۱۱)

php artisan ifnex:preflight        # بررسی سخت‌سازی محیط قبل از migrate
php artisan ifnex:smoke-test       # تست E2E بعد از deploy (DB، داده‌ها، API endpoints)

تست UAT کارفرما

برای چک‌لیست ۴۳ موردی تست دستی توسط کارفرما، UAT-3.11.md را ببینید.


📚 مستندات

فایل محتوا اولویت
CLIENT_DELIVERY.md چک‌لیست وضعیت تحویل مشتری (منبع اصلی وضعیت) ⭐⭐⭐
UAT-3.11.md چک‌لیست ۴۳ موردی UAT نهایی کارفرما (فاز ۳.۱۱) + فرم امضای تحویل ⭐⭐⭐
DEPLOYMENT_HANDOFF.md راهنمای استقرار برای تیم IT کارفرما ⭐⭐⭐
AGENT.md راهنمای ایجنت، مفاهیم کلیدی و خط قرمزها ⭐⭐⭐
01_Documents/IFNEX_Roadmap.md نقشهٔ راه فازی (۰ تا ۳.۱۱ + آینده ۴/۵) ⭐⭐
01_Documents/IFNEX_File_Map.md نقشهٔ فایل‌های پروژه ⭐⭐
01_Documents/IFNEX_Pro_Backlog.md فیچرهای نگه‌داشته‌شده برای نسخه Pro ⭐⭐
RATE_IMPORTER.md راهنمای ایمپورت نرخ‌ها (سیستم ۴-رُبعی) ⭐⭐
04_Laravel/README.md راهنمای بک‌اند ⭐⭐
01_Documents/IFNEX_Commercial_Model.md مدل تجاری و پلن‌های فروش (آینده) ⭐
01_Documents/IFNEX_I18N_Strategy.md استراتژی چندزبانه (موکول به زمان دیپلوی) ⭐

🚀 مراحل بعدی

📌 فهرست دقیق و به‌روزِ وضعیت تحویل در CLIENT_DELIVERY.md و چک‌لیست UAT در UAT-3.11.md نگهداری می‌شود — این بخش فقط نمای کلی است.

باقی‌ماندهٔ واقعی (post-3.11)

موارد زیر تنهای چیزی هستند که قبل از انتشار رسمی Productization باقی‌مانده‌اند:

  • ⏳ i18n (چندزبانه) — موکول به زمان دیپلوی (Polylang + ترجمه‌های .po/.mo)
  • ⏳ پلاگین ماژولار SMS — منتظر تحویل پنل SMS مشتری
  • ⏳ سند پیشنهادی سیستم مالی (درخواست ۱۳ کارفرما) — موکول به آینده
  • ⏳ تأیید نهایی UAT کارفرما — چک‌لیست UAT-3.11.md آمادهٔ اجرا

فاز ۴ (آینده) — سیستم نمایندگی 📋

⚠️ هیچ‌کدام از موارد زیر پیاده‌سازی نشده‌اند.

  • مدل نمایندگی کامل با کمیسیون و پنل جداگانه
  • طرح مطالعاتی آماده — منتظر تأیید کارفرما

فاز ۵ (آینده) — تجاری‌سازی 📋

⚠️ هیچ‌کدام از موارد زیر پیاده‌سازی نشده‌اند.

  • مدل پولی چندلایه: Starter ($299/سال) / Business ($899/سال) / Enterprise ($1999/سال)
  • فرم‌ساز Drag & Drop (Enterprise-tier)
  • White-label branding (Enterprise-tier)
  • API Gateway برای توسعه‌دهندگان (Enterprise-tier)
  • سیستم لایسنس با Domain Lock + Feature Flags
  • بروزرسانی خودکار از گیت
  • اتصال به APIهای ترکینگ زنده (TrackingMore / 17track)
  • مستندات API (OpenAPI / Swagger)
  • راهنمای اپراتور (Operator Manual)
  • اپلیکیشن موبایل (احتمالی)
  • سایت فروش + صفحهٔ قیمت‌گذاری + دمو آنلاین

📞 تماس

مورد مقدار
توسعه‌دهنده Kazem Alghasi
شرکت VernaSoft Group
ایمیل kazem@vernasoft.group
مخزن git.vernahost.ir/gitmodir110/ifnex
سرور Laravel https://system.ifnex.ir
سرور WordPress https://ifnex.ir

📜 لایسنس

© 2026 VernaSoft Group. تمام حقوق محفوظ است.

این پروژه طبق سفارش IFNEX و مالکیت آن برای گروه ورناسافت است و کپی یا استفادهٔ غیرمجاز ممنوع می‌باشد.