ifnex/01_Documents/IFNEX_Phase0_Checklist.md
Kazem Alghasi cd8021e6e1 docs: update project documentation and roadmap to reflect phase 2 and 3 completion
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
2026-08-10 18:12:49 +03:30

14 KiB
Raw Blame History

✅ 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.