more text

This commit is contained in:
Kazem Alghasi 2026-08-01 04:25:27 +03:30
parent 42bb7fed4e
commit 9419f5c484

106
README.md
View File

@ -1,39 +1,82 @@
🚀 IFNEX Logistics Management System
Replacing Manual Excel Workflows with a Modern Headless Architecture
# 🚀 IFNEX Logistics Management System
> Replacing Manual Excel Workflows with a Modern Headless Architecture
[Laravel[WordPress[PHP[MySQL
![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)
**Author:** VernaSoft Group (Kazem Alghasi)
📖 درباره پروژه
---
## 📖 درباره پروژه
سیستم مدیریت لجستیک ایف‌نکس (IFNEX) یک راه‌حل جامع برای جایگزینی فرآیندهای مبتنی بر فایل‌های اکسل در شرکت‌های حمل و نقل بین‌المللی است. این سیستم با استفاده از معماری هدلس (Headless)، وردپرس را برای ظاهر سایت و سئو، و لاراول را به عنوان قلب تپنده و موتور محاسباتی به کار می‌گیرد.
چرا این پروژه متفاوت است؟
### چرا این پروژه متفاوت است؟
به جای اینکه اپراتورها وزن حجمی را محاسبه کنند، زون‌ها را در ۴ شیت مختلف جستجو کنند و با ماشین حساب قیمت نهایی را حساب کنند، اکنون تمام این فرآیند در کسر از ثانیه و بدون هیچ خطای انسانی انجام می‌شود.
🏗️ معماری سیستم (Tech Architecture)
---
## 🏗️ معماری سیستم (Tech Architecture)
سیستم بر اساس الگوی Headless توسعه یافته است. این یعنی فرانت‌اند (وردپرس) و بک‌اند (لاراول) کاملاً از هم جدا شده‌اند و فقط از طریق REST API با هم ارتباط دارند.
فرانت‌اند (WordPress): وظیفه مدیریت ظاهر، منوها، لندینگ پیج‌ها (طراحی شده مشابه DHL) و سئو.
بک‌اند (Laravel 12): وظیفه مدیریت دیتابیس، پنل ادمین (Filament)، موتور فرمول‌نویسی قیمت، و ارائه API ها.
پل ارتباطی (Custom WP Plugin): یک پلاگین اختصاصی برای وردپنس که درخواست‌های کاربران را به لاراول ارسال می‌کند.
✨ ویژگی‌های کلیدی (فاز ۱ - تکمیل شده)
۱. موتور قیمت‌گذاری هوشمند (Pricing Engine)
محاسبه دقیق هزینه ارسال بر اساس فرمول‌های استاندارد جهانی:
- **فرانت‌اند (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) برای پنل و ایمپورتورها
محاسبه خودکار وزن حجمی (طول × عرض × ارتفاع تقسیم بر 5000).
استخراج خودکار زون مقصد بر اساس جدول کشورها و نوع ارسال (صادرات/واردات).
اعمال نرخ لحظه‌ای ارز (درهم/دلار/یوان/یورو) و ضریب سود شرکت.
۲. پنل مدیریت اختصاصی (Laravel Filament)
مدیریت کامل ۲۳۳ کشور با زون‌های صادرات و واردات.
ماژول ایمپورت اکسل: آپلود مستقیم فایل‌های اکسل تعرفه‌ها توسط ادمین (خواندن خودکار شیت‌های Import/Export بدون نیاز به کدنویسی).
فرم تنظیمات سیستم: تغییر سریع ارزها و ضریب سود بدون دستکاری در کد.
۳. ارتباطات API و فرانت‌اند
API استعلام قیمت: ایجاد GET /api/calculate-price برای دریافت اطلاعات وردپرس.
پلاگین وردپرس (IFNEX Bridge): توسعه یک افزونه مستقل از قالب وردپرس.
شورت‌کد استعلام قیمت: فرم مدرن با جاوااسکریپت برای دریافت و نمایش آنی شمارش (ریال/درهم) در سایت.
📁 ساختار پروژه (Project Structure)
IFNEX-Logistics/│├── 01_Documents/ # مستندات و اسناد فنی پروژه│ ├── PRD_v2.md # سند نیازمندی‌ها (توضیح دیتابیس، منطق فرمول‌ها و فازبندی‌ها)│ └── Project_Roadmap.md # نقشه راه و چک‌لیست کارهای انجام شده و در دست اقدام (Task List)│├── 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)
@ -43,14 +86,17 @@ Node.js و NPM (برای ابزارهای پیش‌فرض وردپرس/المن
مخزن کد را کلون کنید و وارد پوشه 04_Laravel شوید.
دستور composer install را برای نصب پکیج‌های لاراول اجرا کنید.
فایل .env.example را به .env کپی کرده و اطلاعات دیتابیس XAMPP را وارد کنید.
دستور php artisan key:generate را برای ایجاد کلید اپلیکیشن اجرا کنید.
دستور php artisan migrate را برای ساخت جداول اجرا کنید.
دستور php artisan db:seed را برای درجور داده‌های اولیه (کشورها و تنظیمات ارز) بزنید.
دستور php artisan db:seed را برای درج داده‌های اولیه (کشورها و تنظیمات ارز) بزنید.
برای پنل ادمین دستور php artisan serve و برای وردپرس از لوکال هاست وردپرس استفاده کنید.
(توجه: برای محیط سرور واقعی، نیاز به تنظیمات .env و پیکربندی وب‌سرور مثل Nginx/Apache دارد).
⚠️ نکات امنیتی و تولید (Production)
هرگز فایل .env را در مخزن کد (Git) کامیت نکنید.
در محیط سرور واقعی، حتماً APP_DEBUG=false را در .env تنظیم کنید.
برای محیط سرور واقعی، نیاز به پیکربندی وب‌سرور (Nginx/Apache) و تنظیمات CORS برای ارتباط WP و Laravel دارید.
📜 مستندات بیشتر
برای مطالعه دقیق منطق‌های سیستم، حتماً فایل‌های داخل پوشه 01_Documents را مطالعه کنید:
PRD_v2.md: شامل معماری دقیق دیتابیس (Schema) استخراج شده از فایل اکسل عملیاتی شرکت.
Project_Roadmap.md: شامل لیست کارهای انجام شده و کارهای در دست اقدام (Checklist) بر اساس فازبندی ۳ گانه‌ای پروژه.
Project_Roadmap.md: شامل لیست کارهای انجام شده و کارهای در دست اقدام (Checklist) بر اساس فازبندی پروژه.
© 2024 Vernasoft Group (Kazem Alghasi). All rights reserved.