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.