ifnex/README.md
Kazem Alghasi 50940d4ee8 more text
2026-08-01 04:26:58 +03:30

103 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚀 IFNEX Logistics Management System
> Replacing Manual Excel Workflows with a Modern Headless Architecture
![Laravel](https://img.shields.io/badge/Laravel-12-FF2D20?style=for-the-badge&logo=laravel&logoColor=white)
![WordPress](https://img.shields.io/badge/WordPress-6.x-21759B?style=for-the-badge&logo=wordpress&logoColor=white)
![PHP](https://img.shields.io/badge/PHP-8.2+-777BB4?style=for-the-badge&logo=php&logoColor=white)
![MySQL](https://img.shields.io/badge/MySQL-8.0-4479A1?style=for-the-badge&logo=mysql&logoColor=white)
**Author:** VernaSoft Group (Kazem Alghasi)
---
## 📖 درباره پروژه
سیستم مدیریت لجستیک ایف‌نکس (IFNEX) یک راه‌حل جامع برای جایگزینی فرآیندهای مبتنی بر فایل‌های اکسل در شرکت‌های حمل و نقل بین‌المللی است. این سیستم با استفاده از معماری هدلس (Headless)، وردپرس را برای ظاهر سایت و سئو، و لاراول را به عنوان قلب تپنده و موتور محاسباتی به کار می‌گیرد.
### چرا این پروژه متفاوت است؟
به جای اینکه اپراتورها وزن حجمی را محاسبه کنند، زون‌ها را در ۴ شیت مختلف جستجو کنند و با ماشین حساب قیمت نهایی را حساب کنند، اکنون تمام این فرآیند در کسر از ثانیه و بدون هیچ خطای انسانی انجام می‌شود.
---
## 🏗️ معماری سیستم (Tech Architecture)
سیستم بر اساس الگوی Headless توسعه یافته است. این یعنی فرانت‌اند (وردپرس) و بک‌اند (لاراول) کاملاً از هم جدا شده‌اند و فقط از طریق REST API با هم ارتباط دارند.
- **فرانت‌اند (WordPress):** وظیفه مدیریت ظاهر، منوها، لندینگ پیج‌ها (طراحی شده مشابه DHL) و سئو.
- **بک‌اند (Laravel 12):** وظیفه مدیریت دیتابیس، پنل ادمین (Filament)، موتور فرمول‌نویسی قیمت، و ارائه API ها.
- **پل ارتباطی (Custom WP Plugin):** یک پلاگین اختصاصی برای وردپرس که درخواست‌های کاربران را به لاراول ارسال می‌کند.
---
## ✨ ویژگی‌های کلیدی (فاز ۱ - تکمیل شده)
### ۱. موتور قیمت‌گذاری هوشمند (Pricing Engine)
محاسبه دقیق هزینه ارسال بر اساس فرمول‌های استاندارد جهانی:
- محاسبه خودکار وزن حجمی `(طول × عرض × ارتفاع / 5000)`.
- استخراج خودکار زون مقصد بر اساس جدول کشورها و نوع ارسال (صادرات/واردات).
- اعمال نرخ لحظه‌ای ارز (درهم/دلار/یوان/یورو) و ضریب سود شرکت.
### ۲. پنل مدیریت اختصاصی (Laravel Filament)
- مدیریت کامل ۲۳۳ کشور با زون‌های صادرات و واردات.
- ماژول ایمپورت اکسل: آپلود مستقیم فایل‌های اکسل تعرفه‌ها توسط ادمین (خواندن خودکار شیت‌های Import/Export).
- فرم تنظیمات سیستم: تغییر سریع ارزها و ضریب سود بدون دستکاری در کد.
### ۳. ارتباطات API و فرانت‌اند
- **API استعلام قیمت:** ایجاد `POST /api/calculate-price` برای دریافت اطلاعات وردپرس.
- **پلاگین وردپرس (IFNEX Bridge):** توسعه یک افزونه مستقل از قالب وردپرس.
- **شورت‌کد استعلام قیمت:** فرم مدرن با جاوااسکریپت برای دریافت و نمایش آنی شمارش (ریال/درهم) در سایت.
---
## 📁 ساختار پروژه (Project Structure)
```text
IFNEX-Logistics/
├── 01_Documents/ # مستندات و اسناد فنی پروژه
│ ├── PRD_v2.md # سند نیازمندی‌ها (توضیح دیتابیس، منطق فرمول‌ها و فازبندی‌ها)
│ └── Project_Roadmap.md # نقشه راه و چک‌لیست کارهای انجام شده و در دست اقدام
├── 02_Design/ # فایل‌های مربوط به رابط کاربری (UI/UX و فیگما)
│ └── Assets/ # لوگوها، آیکون‌ها و...
├── 03_WordPress/ # سیستم مدیریت محتوای سایت (فرانت‌اند)
│ └── wp-content/
│ └── plugins/
│ └── ifnex-bridge/ # پلاگین اختصاصی ما برای ارتباط با لاراول
└── 04_Laravel/ # هسته مرکزی سیستم (بک‌اند)
├── app/
│ ├── Models/ # مدل‌های دیتابیس (Country, ShippingRate, Shipment, SystemSetting)
│ ├── Services/ # کلاس‌های منطقی تجاری (مثل PriceCalculatorService)
│ ├── Http/Controllers/Api/ # کنترلرهای API
│ ├── Imports/ # کلاس‌های خواندن فایل‌های اکسل (ShippingRatesImport)
│ └── Filament/ # پنل مدیریت ادمین (Resources و Pages)
├── database/
│ ├── migrations/ # فایل‌های ساخت جداول دیتابیس
│ └── seeders/ # داده‌های اولیه (کشورها)
├── config/ # تنظیمات سیستم (فایل‌های .php)
└── resources/ # فایل‌های ویو (Blade) برای پنل و ایمپورتورها
---
🚀 راه‌اندازی و اجرای پروژه (Localhost)
پیش‌نیازها
XAMPP (شامل PHP 8.2+ و MySQL)
Composer
Node.js و NPM (برای ابزارهای پیش‌فرض وردپرس/المنتور)
مراحل نصب
مخزن کد را کلون کنید و وارد پوشه 04_Laravel شوید.
دستور composer install را برای نصب پکیج‌های لاراول اجرا کنید.
فایل .env.example را به .env کپی کرده و اطلاعات دیتابیس XAMPP را وارد کنید.
دستور php artisan key:generate را برای ایجاد کلید اپلیکیشن اجرا کنید.
دستور php artisan migrate را برای ساخت جداول اجرا کنید.
دستور php artisan db:seed را برای درج داده‌های اولیه (کشورها و تنظیمات ارز) بزنید.
برای پنل ادمین دستور php artisan serve و برای وردپرس از لوکال هاست وردپرس استفاده کنید.
⚠️ نکات امنیتی و تولید (Production)
هرگز فایل .env را در مخزن کد (Git) کامیت نکنید.
در محیط سرور واقعی، حتماً APP_DEBUG=false را در .env تنظیم کنید.
برای محیط سرور واقعی، نیاز به پیکربندی وب‌سرور (Nginx/Apache) و تنظیمات CORS برای ارتباط WP و Laravel دارید.
📜 مستندات بیشتر
برای مطالعه دقیق منطق‌های سیستم، حتماً فایل‌های داخل پوشه 01_Documents را مطالعه کنید:
PRD_v2.md: شامل معماری دقیق دیتابیس (Schema) استخراج شده از فایل اکسل عملیاتی شرکت.
Project_Roadmap.md: شامل لیست کارهای انجام شده و کارهای در دست اقدام (Checklist) بر اساس فازبندی پروژه.
© 2024 Vernasoft Group (Kazem Alghasi). All rights reserved.