more text
This commit is contained in:
parent
42bb7fed4e
commit
9419f5c484
106
README.md
106
README.md
@ -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
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
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.
|
||||
Loading…
Reference in New Issue
Block a user