Remove unused Filament middleware components to simplify the panel provider configuration. |
||
|---|---|---|
| .. | ||
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| public | ||
| resources | ||
| routes | ||
| storage | ||
| tests | ||
| .editorconfig | ||
| .env.example | ||
| artisan | ||
| check_shipments.php | ||
| check_tracking.php | ||
| composer.json | ||
| composer.lock | ||
| debug_import2.php | ||
| debug_import.php | ||
| inspect_awb.php | ||
| package.json | ||
| phpunit.xml | ||
| README.md | ||
| test_excel.php | ||
| test_pricing2.php | ||
| test_pricing.php | ||
| vite.config.js | ||
IFNEX Logistics — Backend (Laravel 11)
بخش بکاند سیستم لجستیک ایفنکس. این پوشه به تنهایی یک اپلیکیشن لاراول ۱۱ کامل است.
🚀 راهاندازی سریع
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate --force
php artisan db:seed --force
php artisan serve
📦 پکیجهای اصلی
| پکیج | نسخه | نقش |
|---|---|---|
laravel/framework |
^11.0 | هسته فریمورک |
filament/filament |
3.3.* | پنل مدیریت ادمین |
maatwebsite/excel |
^3.1 | ایمپورت اکسل |
barryvdh/laravel-dompdf |
^3.1 | تولید PDF |
dompdf/dompdf |
^3.0 | موتور تولید PDF |
morilog/jalali |
^3.0 | تبدیل تاریخ شمسی/میلادی |
📁 ساختار کد
04_Laravel/
├── app/
│ ├── Models/ # مدلهای Eloquent
│ ├── Enums/ # Enumهای سفارشی
│ ├── Services/ # PriceCalculatorService, PdfService, ...
│ ├── Http/
│ │ ├── Controllers/
│ │ │ ├── Api/ # PricingController, TrackController
│ │ │ ├── OrderController.php
│ │ │ ├── PricingPageController.php
│ │ │ └── ShipmentPdfController.php
│ │ ├── Middleware/ # ApiKeyMiddleware
│ │ └── Requests/ # Form Request Validation
│ ├── Imports/ # ShippingRatesImport
│ ├── Console/Commands/ # ImportShippingRates
│ └── Filament/ # پنل مدیریت
│ ├── Resources/ # Country, Shipment, ShippingRate, ShipmentItem
│ └── Pages/ # Settings, Dashboard
├── database/
│ ├── migrations/ # ۷ migration فاز ۰
│ └── seeders/ # seeders داده اولیه
├── routes/
│ ├── web.php # /order, /pricing, PDF downloads
│ └── api.php # /api/v1/calculate, /api/v1/track/{awb}
└── config/
├── ifnex.php # تنظیمات اختصاصی
└── cors.php # تنظیمات CORS
🔌 API Endpoints
| روش | مسیر | توضیحات |
|---|---|---|
| POST | /api/v1/calculate |
محاسبه قیمت حمل (بدون احراز هویت) |
| GET | /api/v1/track/{awb_no} |
استعلام وضعیت مرسوله با API Key |
درخواست نمونه محاسبه قیمت:
curl -X POST http://localhost:8000/api/v1/calculate \
-H "Content-Type: application/json" \
-d '{
"direction": "Outbound",
"type": "DOC_NORMAL",
"country_iso": "AE",
"weight": 1,
"volumetric_weight": 1
}'
🛠️ دستورات Artisan سفارشی
# ایمپورت نرخهای حمل از اکسل
php artisan ifnex:import:rates {path} [--clear] [--dry-run]
# ایمپورت دادههای ترکینگ
php artisan ifnex:import:tracking {path}
🌐 صفحات عمومی
| مسیر | توضیحات |
|---|---|
/ |
صفحه اصلی |
/order |
فرم ثبت سفارش آنلاین |
/order/success/{shipment} |
صفحه تایید سفارش |
/pricing |
صفحه استعلام قیمت |
/shipments/{id}/pdf/awb |
دانلود AWB (نیاز به لاگین) |
/shipments/{id}/pdf/invoice |
دانلود INVOICE (نیاز به لاگین) |
/shipments/{id}/pdf/label |
دانلود LABEL (نیاز به لاگین) |
🔐 احراز هویت و دسترسی
| نقش | دسترسی |
|---|---|
super_admin |
دسترسی کامل به همه بخشهای Filament |
tracking_operator |
مدیریت ترکینگ و رویدادها |
data_entry |
وارد کردن دادههای مرسوله |
customer |
دسترسی محدود (در فاز بعدی) |
⚠️ نکات مهم
- Laravel 11 — با سوییچ از v12 انجام شد
- Livewire 3.8.3 — فرمها با AJAX کار میکنند، POST مستقیم به
/admin/loginثبت نمیشود - Filament 3.3.x — پنل مدیریت در مسیر
/admin - MySQL 8+ — الزام migrations با JSON columns
- DomPDF — برای تولید PDFهای AWB, INVOICE, LABEL استفاده میشود
📚 مستندات بیشتر
برای اطلاعات کاملتر به پوشه 01_Documents در ریشه پروژه مراجعه کنید:
STATUS.md— وضعیت فعلی و گزارش پیشرفتIFNEX_Phase0_Checklist.md— چکلیست دقیق فاز ۰Phase0_Proposal.md— مرجع اصلی پروژهEXCEL_ANALYSIS.md— تحلیل کامل فایلهای اکسل عملیاتی
📜 لایسنس
© 2026 VernaSoft Group (Kazem Alghasi). All rights reserved.
این پروژه اختصاصی شرکت IFNEX است و کپی یا استفادهی غیرمجاز از آن ممنوع است.