Introduce PDF generation capabilities for shipments using laravel-dompdf. This includes a new service layer, dedicated controller, and routes to handle the generation of Air Waybills (AWB), Invoices, and Shipping Labels. - Add `PdfService` to encapsulate PDF generation logic. - Add `ShipmentPdfController` to handle PDF download requests. - Integrate `barryvdh/laravel-dompdf` dependency. - Add Filament header actions to view shipment pages for quick PDF access. - Update order success view to provide direct download links for documents. - Add label methods to `ShipmentDirection` and `ShipmentType` enums. - Update project status documentation to reflect initial PDF implementation. |
||
|---|---|---|
| .. | ||
| 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_pricing3.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 | ایمپورت اکسل |
morilog/jalali |
^3.0 | تبدیل تاریخ شمسی/میلادی |
📁 ساختار کد
04_Laravel/
├── app/
│ ├── Models/ # مدلهای Eloquent
│ ├── Enums/ # Enumهای سفارشی
│ ├── Services/ # منطق تجاری
│ ├── Http/
│ │ ├── Controllers/ # کنترلرها
│ │ ├── Middleware/ # میانافزارهای سفارشی
│ │ └── Requests/ # Form Request Validation
│ ├── Imports/ # کلاسهای ایمپورت اکسل
│ ├── Console/Commands/ # دستورات Artisan سفارشی
│ └── Filament/ # پنل مدیریت
│ ├── Resources/ # منابع Filament
│ └── Pages/ # صفحات سفارشی
├── database/
│ ├── migrations/ # ۷ migration فاز ۰
│ └── seeders/ # seeders داده اولیه
├── routes/
│ ├── web.php # routes وب (Filament)
│ └── api.php # routes API
└── config/
├── ifnex.php # تنظیمات اختصاصی
└── cors.php # تنظیمات CORS
🔌 API Endpoints
| روش | مسیر | توضیحات |
|---|---|---|
| GET | /api/v1/track/{awb_no} |
استعلام وضعیت مرسوله با API Key |
درخواست نمونه:
curl -H "Authorization: Bearer ifnex-local-dev-key" http://localhost:8000/api/v1/track/TEST123
🛠️ دستورات Artisan سفارشی
# ایمپورت نرخهای حمل از اکسل
php artisan ifnex:import:rates {path}
# ایمپورت دادههای تاریخی مرسولهها
php artisan ifnex:import:shipments {path}
🔐 احراز هویت و دسترسی
| نقش | دسترسی |
|---|---|
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
📚 مستندات بیشتر
برای اطلاعات کاملتر به پوشه 01_Documents در ریشه پروژه مراجعه کنید:
STATUS.md— وضعیت فعلی و گزارش پیشرفتIFNEX_Phase0_Checklist.md— چکلیست دقیق فاز ۰Phase0_Proposal.md— مرجع اصلی پروژه
📜 لایسنس
© 2026 VernaSoft Group (Kazem Alghasi). All rights reserved.
این پروژه اختصاصی شرکت IFNEX است و کپی یا استفادهی غیرمجاز از آن ممنوع است.