Update project documentation, status reports, and technical READMEs to reflect the successful completion of Phase 2 (Financial Automation) and Phase 3 (Customer Portal & WordPress Integration). Changes include: - Updated `STATUS.md` and `README.md` to mark Phases 2 and 3 as completed - Updated `01_Documents/IFNEX_Phase0_Checklist.md` with detailed task completion status for Phases 1, 2, and 3 - Refined technical architecture documentation in `04_Laravel/README.md` to include new services (Zarinpal, OrderPayment), controllers (Auth, CustomerOrder), and Filament resources (Wallet, Payment, DiscountCode) - Added `DEPLOYMENT.md` for deployment instructions - Updated system specifications to include Laravel Sanctum, RBAC via spatie/laravel-permission, and the updated WordPress/IFNEX Bridge capabilities
14 KiB
14 KiB
✅ IFNEX Phase 0 Checklist
فاز: Phase 0 — بنیان داده + ترکینگ دستی + مهاجرت دادههای تاریخی
تاریخ ایجاد: 2026-08-04
تاریخ بهروزرسانی: 2026-08-10
وضعیت کلی: ✅ تکمیل شده
مرجع اصلی:01_Documents/Phase0_Proposal.md
پیشنیازها
| # | شرط | وضعیت | توضیحات |
|---|---|---|---|
| P1 | Laravel 11 نصب و قابل اجرا | ✅ انجام شد | در پوشه 04_Laravel |
| P2 | MySQL 8+ قابل دسترس | ✅ انجام شد | دیتابیس ifnex_db ایجاد شده |
| P3 | Composer dependencies نصب شده | ✅ انجام شد | filament 3.3.x, maatwebsite/excel, morilog/jalali 3 |
| P4 | فایلهای اکسل اصلی در دسترس | ⚠️ موجود | فایل مرسولات فعلی دادههای نمونه/قدیمی دارد — هر فایل جدید قابل import است |
بخش ۱: دیتابیس و مدلها
| # | کار | وضعیت | توضیحات |
|---|---|---|---|
| 1.1 | Migration countries با ۴ زون |
✅ انجام شد | iso_code + is_active اضافه شد |
| 1.2 | Migration shipments مطابق Phase 0 |
✅ انجام شد | ۱۱ فیلد مالی + ۴ زون + nullable حقایل |
| 1.3 | Migration shipping_rates با enum |
✅ انجام شد | direction + type (DOC_NORMAL/DOC_ECONOMY/PARCEL) |
| 1.4 | Migration shipment_carrier_mappings |
✅ انجام شد | جدول جدید برای نگاشت چند شرکت حمل |
| 1.5 | Migration shipment_tracking_events |
✅ انجام شد | جدول جدید برای تایملاین رویدادها |
| 1.6 | Migration system_settings |
✅ انجام شد | جدول key-value |
| 1.7 | Migration update_users |
✅ انجام شد | phone, role, is_active |
| 1.8 | حل مشکل unsignedDecimal |
✅ انجام شد | استفاده از decimal()->unsigned() |
| 1.9 | حل مشکل FK constraints | ✅ انجام شد | disableForeignKeyConstraints() |
| 1.10 | اجرای همه migrations | ✅ انجام شد | بدون خطا |
مدلها و Enums
| # | کار | وضعیت | توضیحات |
|---|---|---|---|
| 2.1 | مدل Country.php + روابط |
✅ انجام شد | fromShipments() + toShipments() |
| 2.2 | مدل Shipment.php + روالات کامل |
✅ انجام شد | items(), carrierMappings(), trackingEvents() |
| 2.3 | مدل ShippingRate.php |
✅ انجام شد | cast برای enums |
| 2.4 | مدل User.php + helper methods |
✅ انجام شد | phone, role, is_active |
| 2.5 | مدل ShipmentCarrierMapping.php |
✅ انجام شد | |
| 2.6 | مدل ShipmentTrackingEvent.php |
✅ انجام شد | |
| 2.7 | مدل SystemSetting.php |
✅ انجام شد | |
| 2.8 | Enum ShipmentDirection |
✅ انجام شد | import/export |
| 2.9 | Enum ShipmentType |
✅ انجام شد | DOC_NORMAL/DOC_ECONOMY/PARCEL |
| 2.10 | Enum ShipmentStatus |
✅ انجام شد | ۹ وضعیت (pending_payment, cancelled اضافه شد) |
| 2.11 | Enum CarrierCode |
✅ انجام شد | ۹ شرکت حمل |
| 2.12 | Enum TrackingSource |
✅ انجام شد | manual/api_carrier/api_aggregator |
| 2.13 | Enum UserRole |
✅ انجام شد | ۴ نقش |
بخش ۲: Seeders و دادههای اولیه
| # | کار | وضعیت | توضیحات |
|---|---|---|---|
| 3.1 | Seeder ۲۳۲ کشور با ۴ زون | ✅ انجام شد | تصحیح کدهای ISO، حذف تکراریها |
| 3.2 | Seeder System Settings | ✅ انجام شد | VAT 9%, packing 100000 IRR, profit_margin 1.25 |
| 3.3 | Seeder Super Admin User | ✅ انجام شد | |
| 3.4 | DatabaseSeeder ترکیبی | ✅ انجام شد |
بخش ۳: API ترکینگ
| # | کار | وضعیت | توضیحات |
|---|---|---|---|
| 4.1 | ایجاد TrackController |
✅ انجام شد | JSON response کامل |
| 4.2 | ایجاد ApiKeyMiddleware |
✅ انجام شد | Bearer token validation |
| 4.3 | ثبت route GET /api/v1/track/{awb_no} |
✅ انجام شد | |
| 4.4 | تست با API Key صحیح | ✅ انجام شد | 200 OK |
| 4.5 | تست بدون API Key | ✅ انجام شد | 401 Unauthorized |
| 4.6 | تست با API Key نامعتبر | ✅ انجام شد | 403 Forbidden |
بخش ۴: پنل مدیریت Filament
Resources اصلی
| # | کار | وضعیت | توضیحات |
|---|---|---|---|
| 5.1 | CountryResource |
✅ انجام شد | فرم ۴ زون + iso_code + is_active |
| 5.2 | ShipmentResource |
✅ انجام شد | ۷ Section کامل |
| 5.3 | ShippingRateResource |
✅ انجام شد | ۱۰ zone + enum |
| 5.4 | ShipmentItemResource |
✅ انجام شد | CRUD کامل |
| 5.5 | CarrierMappingsRelationManager |
✅ انجام شد | برای Shipment |
| 5.6 | TrackingEventsRelationManager |
✅ انجام شد | برای Shipment |
| 5.7 | SettingsPage |
✅ انجام شد | System Settings |
| 5.8 | صفحههای List/Create/Edit/View | ✅ انجام شد | برای همه Resources |
بخش ۵: Services
| # | کار | وضعیت | توضیحات |
|---|---|---|---|
| 6.1 | TrackingService |
✅ انجام شد | getTrackingTimeline, addTrackingEvent, getShipmentWithTracking |
| 6.2 | PriceCalculatorService |
✅ انجام شد | ۹ مرحله محاسبه |
بخش ۶: Excel Imports
| # | کار | وضعیت | توضیحات |
|---|---|---|---|
| 7.1 | ShippingRatesImport |
✅ انجام شد | ۴۰۴ رکورد import شد |
| 7.2 | HistoricalShipmentsImport |
✅ انجام شد | هر رکورد معتبر در فایل اکسل قابل import است |
| 7.3 | Artisan Command ifnex:import:rates |
✅ انجام شد | |
| 7.4 | Artisan Command ifnex:import:shipments |
✅ انجام شد |
بخش ۷: پیکربندی
| # | کار | وضعیت | توضیحات |
|---|---|---|---|
| 8.1 | config/ifnex.php |
✅ انجام شد | تنظیمات اختصاصی |
| 8.2 | config/cors.php |
✅ انجام شد | |
| 8.3 | .env.example بهروز |
✅ انجام شد | IFNEX_API_KEY, CORS_ALLOWED_ORIGINS, ... |
| 8.4 | سوییچ به Laravel 11 | ✅ انجام شد | Downgrade از v12 به v11 |
| 8.5 | نصب morilog/jalali v3 |
✅ انجام شد | |
| 8.6 | رفع خطای PSR-4 | ✅ انجام شد | SettingsPage.php |
| 8.7 | رفع خطای MethodNotAllowedHttpException |
✅ انجام شد | POST /admin/login |
بخش ۸: Code Review
| # | کار | وضعیت | توضیحات |
|---|---|---|---|
| 9.1 | بررسی bootstrap/app.php |
✅ انجام شد | مشکل: گروه web تعریف نشده |
| 9.2 | بررسی AdminPanelProvider.php |
✅ انجام شد | Middlewareهای طولانی به صورت دستی |
| 9.3 | بررسی composer.json |
✅ انجام شد | صحیح است |
| 9.4 | بررسی Routes | ✅ انجام شد | کافی برای حال حاضر |
| 9.5 | ارائه راهحل برای مشکلات | ✅ انجام شد | راهحل در STATUS.md ثبت شد |
بخش ۹: بلاکهای فعلی
| # | مشکل | اولویت | وضعیت | راهحل |
|---|---|---|---|---|
| B1 | فایل اکسل مرسولات فعلی دادههای نمونه/قدیمی دارد | 🟡 متوسط | بدون بلاک | هر فایل اکسل جدید قابل import است |
| B2 | گروه web در bootstrap/app.php تعریف نشده |
🔴 بالا | بلاک | اضافه کردن $middleware->group('web', [...]) |
| B3 | فایل اکسل ترکینگ موجود است | 🟡 متوسط | ✅ موجود | در 01_Documents/Data entry 2026-06-28.xlsx |
| B4 | پلاگین وردپرس IFNEX Bridge ساخته نشده | 🟡 متوسط | نشده | بعد از تست کامل API |
| B5 | تست دستی کامل Filament انجام نشده | 🟡 متوسط | pending | ورود + CRUD + RelationManagers |
بخش ۱۰: کارهای باقیمانده فاز ۰
| # | کار | اولویت | وضعیت | یادداشت |
|---|---|---|---|---|
| R1 | تست دستی کامل Filament | 🔴 بالا | ✅ انجام شد | ورود + CRUD + RelationManagers + Settings |
| R2 | مهاجرت دادههای ترکینگ از 01_Documents/Data entry 2026-06-28.xlsx |
🟡 متوسط | ✅ انجام شد | 98 رویداد import شد |
| R3 | ساخت پلاگین وردپرس IFNEX Bridge | 🟡 متوسط | ✅ انجام شد | شورتکدها کار میکنند |
| R4 | تست کامل API Track با دادههای واقعی | 🟡 متوسط | ✅ انجام شد | AWB 980100010 و 980103619 |
| R5 | تست نهایی فاز ۰ و تحویل به مشتری | 🟢 پایین | ✅ انجام شد | همه موارد تست شدند |
بخش ۱۱: کارهای فاز ۱ (تکمیل شده)
| # | کار | اولویت | وضعیت |
|---|---|---|---|
| F1.1 | تست کامل PriceCalculatorService با دادههای واقعی |
🔴 بالا | ✅ انجام شد (2026-08-07) |
| F1.2 | تکمیل جدول shipping_rates |
🟡 متوسط | ✅ انجام شد - ۴۰۴ رکورد import شد |
| F1.3 | فرم ثبت سفارش آنلاین با ۹ ردیف کالای گمرکی | 🟡 متوسط | ✅ انجام شد |
| F1.4 | تولید PDF: AWB، INVOICE، Label | 🟡 متوسط | ✅ انجام شد |
| F1.5 | ماژول ایمپورت اکسل تعرفهها | 🟢 پایین | ✅ انجام شد |
| F1.6 | صفحه استعلام قیمت واقعی | 🟢 پایین | ✅ انجام شد |
بخش ۱۲: کارهای فاز ۲ (تکمیل شده)
| # | کار | اولویت | وضعیت |
|---|---|---|---|
| F2.1 | ساخت WalletController با APIها |
🔴 بالا | ✅ انجام شد |
| F2.2 | ساخت DiscountCodeController با APIها |
🔴 بالا | ✅ انجام شد |
| F2.3 | ساخت UpdateExchangeRates Artisan Command |
🟡 متوسط | ✅ انجام شد |
| F2.4 | ثبت routeهای کیف پول و تخفیف | 🟡 متوسط | ✅ انجام شد |
| F2.5 | اتصال درگاه پرداخت (زرینپال) | 🔴 بالا | ✅ انجام شد |
| F2.6 | شارژ آنلاین کامل | 🔴 بالا | ✅ انجام شد |
| F2.7 | پنل مالی در Filament | 🟡 متوسط | ✅ انجام شد |
| F2.8 | ساخت OrderPaymentService |
🔴 بالا | ✅ انجام شد |
| F2.9 | ساخت ZarinpalService و MockZarinpalService |
🔴 بالا | ✅ انجام شد |
| F2.10 | ردیابی تاریخچه نرخ ارز | 🟡 متوسط | ✅ انجام شد |
| F2.11 | یکپارچگی RBAC با spatie/laravel-permission | 🟡 متوسط | ✅ انجام شد |
| F2.12 | گسترش پلاگین IFNEX Bridge (کیف پول + تراکنش) | 🟡 متوسط | ✅ انجام شد |
بخش ۱۳: کارهای فاز ۳ (تکمیل شده)
| # | کار | اولویت | وضعیت |
|---|---|---|---|
| F3.1 | ساخت AuthController برای Sanctum |
🔴 بالا | ✅ انجام شد |
| F3.2 | ساخت BridgeAuthController |
🔴 بالا | ✅ انجام شد |
| F3.3 | ساخت CustomerOrderController با ۶ endpoint |
🔴 بالا | ✅ انجام شد |
| F3.4 | ساخت OrderPaymentService |
🔴 بالا | ✅ انجام شد |
| F3.5 | توسعه پلاگین وردپرس برای پورتال مشتری | 🔴 بالا | ✅ انجام شد |
| F3.6 | توسعه پوسته سفامشی IFNEX | 🟡 متوسط | ✅ انجام شد |
| F3.7 | بهروزرسانی وردپرس به ۷.۰.۳ | 🟡 متوسط | ✅ انجام شد |
| F3.8 | یکپارچگی Design System | 🟡 متوسط | ✅ انجام شد |
| F3.9 | خروجی CSV برای ShipmentResource و WalletTransactionResource | 🟢 پایین | ✅ انجام شد |
بخش ۱۴: کارهای آینده (فاز ۴)
فاز ۴: VPS پل و ترکینگ زنده
- راهاندازی VPS پل خارج (هلند/آلمان)
- اتصال به TrackingMore/17track API
- سیستم وبهوک
- مپ کردن کدهای رهگیری
- پلاگین SMS
- ماژول CRM
- اپلیکیشن موبایل
فاز ۲.۵: تست و بهینهسازی
- تست نهایی پلاگین وردپرس با دادههای واقعی
- مستندسازی API
- بهینهسازی عملکرد (کش، query optimization)
Legend
| آیکون | معنی |
|---|---|
| ✅ | انجام شده |
| 🔄 | در حال انجام |
| ⚠️ | جزئی/ناقص/بلاک |
| ❌ | لغو شده/خراب |
| ⏸️ | متوقف/منتظر |
| 🔴 بالا | اولویت بالا |
| 🟡 متوسط | اولویت متوسط |
| 🟢 پایین | اولویت پایین |
نحوه استفاده از این فایل
۱. در ابتدای هر جلسه: این فایل را باز کنید و موارد pending را بررسی کنید.
۲. بعد از انجام هر کار: شماره کار را پیدا کنید و وضعیت را بهروز کنید.
۳. اگر بلاک جدیدی ایجاد شد: در بخش «بلاکهای فعلی» اضافه کنید.
۴. اگر نیاز به Code Review دارید: بخش ۹ را بررسی کنید.
© 2026 VernaSoft Group. Internal use only.