- update `IFNEX_File_Map.md` to include new migrations and models from phases 2 and 3 - update `IFNEX_Phase0_Checklist.md` to reflect completed status of phase 0 and progress on subsequent phases - add `IFNEX_Roadmap.md` to outline project milestones and future development stages
13 KiB
13 KiB
چکلیست فاز ۰ — IFNEX Phase 0 Checklist
مرجع: Phase0_Proposal.docx + EXCEL_ANALYSIS.md + STATUS.md
تاریخ: August 2026
وضعیت: فاز ۰ تکمیل شده + فاز ۱/۲ بخشی انجام شده
توسعهدهنده: VernaSoft Group — Kazem Alghasi
آخرین بروزرسانی: 2026-08-29
وضعیت کلی
| فاز | وضعیت | درصد |
|---|---|---|
| فاز ۰ (پایه) | تکمیل شده | 100% |
| فاز ۱ (پنل مشتری) | انجام شده | 100% |
| فاز ۲ (پرداخت و کیف پول) | انجام شده | 100% |
| فاز ۳ (یکپارچهسازی) | در دست اقدام | 60% |
بخش ۱: اصلاح اسکیمای دیتابیس
1.1 بازنویسی Migration countries
- حذف
export_zoneوimport_zone(۲ زون قدیمی) - اضافه کردن
export_zone_parcel(TINYINT 1-10) - اضافه کردن
export_zone_doc(TINYINT 1-10) - اضافه کردن
import_zone_parcel(TINYINT 1-10) - اضافه کردن
import_zone_doc(TINYINT 1-10) - اضافه کردن
iso_code(CHAR(2) UNIQUE) - اضافه کردن
is_active(BOOLEAN default true) - اضافه کردن
calling_code(VARCHAR 10 NULL) — فاز ۲ - اصلاح
name— بدون کد ISO در پرانتز
1.2 بازنویسی Migration shipments
- حذف
forwarder_track_id(جایگزین با جدول مجزا) - تغییر
typeاز STRING به ENUM:DOC_NORMAL,DOC_ECONOMY,PARCEL - تغییر
directionاز STRING به ENUM:import,export - تغییر
statusاز STRING به ENUM (وضعیتهای استاندارد) - اضافه کردن
from_country_id(FK → countries.id) - اضافه کردن
to_country_id(FK → countries.id) - اضافه کردن فیلدهای مالی:
domestic_pickup,domestic_delivery,warehousing_cost,vat_amount - تبدیل فیلدهای غیرضروری به
nullable - اضافه کردن
state_notes(فیلد وضعیت و یادداشت مشتری) — فاز ۲ - اضافه کردن
cod_amount(مبلغ COD) — فاز ۲ - رابطه
packages()وstatusHistories()— فاز ۲
1.3 ایجاد Migration shipment_carrier_mappings
- تمام فیلدها طبق طرح اولیه
- RelationManager در Filament با CRUD کامل
1.4 ایجاد Migration shipment_tracking_events
- تمام فیلدها طبق طرح اولیه
- اضافه کردن فیلد
source(manual/api/system) — فاز ۲ - RelationManager در Filament با CRUD کامل
1.5 بازنویسی Migration system_settings
- تغییر به ساختار key-value
1.6 بازنویسی Migration users
- اضافه کردن
phone,role,is_active
1.7 اصلاح Migration shipping_rates
- تغییر
typeوdirectionبه ENUM
1.8 جداول جدید فاز ۱/۲
currencies— جدول ارزها (code, name, symbol, rate_to_rial, rate_to_aed, is_active)shipment_packages— بستههای چندگانه هر مرسوله (package_no, weight, dimensions)shipment_status_histories— تاریخچه تغییرات وضعیت (from_status, to_status, reason, changed_by)wallets— کیف پول کاربرانwallet_transactions— تراکنشهای کیف پولnotifications— نوتیفیکیشنهای دیتابیس (Laravel default)
بخش ۲: Model ها
Country.php— با ۴ زون + iso_code + calling_code + is_activeShipment.php— با enum casts + روابط کامل + packages + statusHistoriesShipmentCarrierMapping.php— با relation + enum castsShipmentTrackingEvent.php— با relation + enum casts + sourceShipmentItem.php— با relationShipmentPackage.php— با belongsTo(Shipment) — فاز ۲ShipmentStatusHistory.php— با booted auto-fill changed_by — فاز ۲ShippingRate.php— با enum castsSystemSetting.php— با get/set متدهاUser.php— با role + is_active + wallet relationCurrency.php— با fillable + casts — فاز ۲Wallet.php— فاز ۲WalletTransaction.php— فاز ۲
بخش ۳: Seeders
CountriesTableSeeder.php— با ۴ زون مجزاSystemSettingSeeder.php— با ساختار key-valueDatabaseSeeder.php— با User اولیه super_admin
بخش ۴: API و Controller ها
۴.۱ API ترکینگ
GET /api/v1/track/{awb_no}— تایملاین کاملTrackController.php— با timeline + carrier mappings
۴.۲ API قیمتگذاری
POST /api/v1/calculate— با ۳ نوع سرویس + VAT + هزینههای جانبیPricingController.php— با API Key + Rate Limiting
۴.۳ API احراز هویت
POST /api/v1/auth/login— ورود با email + passwordPOST /api/v1/auth/logout— خروج ( Sanctum)POST /api/v1/bridge/login— Bridge Auth (WordPress → Laravel)
۴.۴ API پنل مشتری (فاز ۱/۲)
GET /api/v1/customer/profile— پروفایل و آمارGET /api/v1/customer/countries— لیست کشورهاGET /api/v1/customer/orders— لیست سفارشاتPOST /api/v1/customer/orders— ثبت سفارشGET /api/v1/customer/orders/{shipment}— جزئیات سفارشPOST /api/v1/customer/orders/{shipment}/cancel— لغو سفارشPOST /api/v1/customer/orders/{shipment}/pay-wallet— پرداخت از کیف پولPOST /api/v1/customer/orders/{shipment}/pay-gateway— پرداخت از درگاهGET /api/v1/customer/notifications— نوتیفیکیشنها — فاز ۲POST /api/v1/customer/notifications/{id}/read— خواندن نوتیفیکیشن — فاز ۲
۴.۵ API کیف پول (فاز ۲)
GET /api/v1/wallet/balance— موجودیGET /api/v1/wallet/transactions— تراکنشها
۴.۶ API پرداخت (فاز ۲)
POST /api/v1/payment/redirect— انتقال به درگاهGET /api/v1/payment/check/{transaction}— بررسی وضعیت- Mock Gateway (شبیهسازی درگاه پرداخت)
بخش ۵: Filament Admin Panel
۵.۱ منابع (Resources)
CountryResource— با ۴ زون + iso_code + calling_code + is_activeShipmentResource— با ستونهای جدید + CSV export +Packages Repeater + changeStatus bulkActionShippingRateResource— با ۳ نوع سرویسCurrencyResource— CRUD ارزها — فاز ۲
۵.۲ RelationManagers
TrackingEventsRelationManager— با فیلدsource— فاز ۲CarrierMappingsRelationManager— با CRUD کاملItemsRelationManager— اقلام مرسوله
۵.۳ صفحات سفارشی
SettingsPage— تنظیمات key-valuePriceTestPage— تست قیمتگذاریImportRatesPage— آپلود اکسل نرخها + دانلود template — فاز ۲
۵.۴ PDF
PdfService— با loadMissing (packages, fromCountry, toCountry, items)awb.blade.php— با asset() برای تصاویر + جدول بستههاlabel.blade.php— با asset() برای تصاویرinvoice.blade.php— فاکتور
۵.۵ نوتیفیکیشن ادمین
ShipmentUpdatedNotification— با لیست فیلدهای تغییر کردهafterSavehook در ShipmentResource — ارسال نوتیفیکیشن
بخش ۶: Services
PriceCalculatorService.php— با ۴ زون + ۳ نوع + VAT + هزینههای جانبیTrackingService.php— تایملاین + افزودن رویدادPdfService.php— تولید PDF (AWB, Label, Invoice)OrderPaymentService.php— پرداخت از کیف پول و درگاه — فاز ۲
بخش ۷: Import و مهاجرت داده
OldShipmentsImport.php— مهاجرت ۳۹۵۰ رکورد تاریخیShippingRatesImport.php— ایمپورت نرخها (بدون SystemSetting)ShippingRatesTemplateExport.php— دانلود template اکسل (FromArray)
بخش ۸: پلاگین وردپرس IFNEX Bridge
۸.۱ ساختار پلاگین
ifnex-bridge.php— فایل اصلی پلاگینincludes/api-client.php— ارتباط با API (قدیمی)includes/user-bridge.php— Bridge Auth + API احرازشدهincludes/shortcodes.php— تمام شورتکدهاincludes/tracking-form.php— فرم رهگیری (قدیمی)assets/css/ifnex-orders.css— استایل کامل (v1.6.0)assets/css/ifnex-bridge.css— استایل ترکینگassets/js/ifnex-order-form.js— فرم سفارش + هشدار آدرس انگلیسی
۸.۲ شورتکدها
[ifnex_tracking_form]— فرم رهگیری مرسوله[ifnex_tracking_status]— نمایش مستقیم وضعیت[ifnex_wallet_balance]— موجودی کیف پول[ifnex_transactions]— تاریخچه تراکنشها (با استایل جدید)[ifnex_user_profile]— پروفایل مشتری[ifnex_orders_list]— لیست سفارشات[ifnex_order_form]— فرم ثبت سفارش چند مرحلهای[ifnex_order_payment]— صفحه پرداخت[ifnex_order_detail]— جزئیات سفارش[ifnex_customer_dashboard]— پنل جامع مشتری (داشبورد + سفارشات + کیف پول + تراکنشها + اعلانها + رهگیری + پروفایل)
۸.۳ استایل تراکنشها — فاز ۲
- استایل کامل برای
.ifnex-transactions-*— مطابق دشبورد مدرن
۸.۴ هشدار آدرس انگلیسی — فاز ۲
- تشخیص متن انگلیسی در آدرس (sender + receiver)
- نمایش هشدار اسلایدی با انیمیشن
۸.۵ نوتیفیکیشن پنل کاربری — فاز ۲
- تب اعلانها در دشبورد
- بج تعداد خواندهنشده در سایدبار
- لیست نوتیفیکیشنها با استایل مدرن
- لینک به سفارش مرتبط
- API لاراول برای دریافت/خواندن نوتیفیکیشن
بخش ۹: وبسایت وردپرس
۹.۱ قالب IFNEX
- نصب و تنظیم قالب سفارشی
- front-page.php — لندینگ پیج
- header.php / footer.php
- template-parts (hero, services, how-it-works, stats, testimonials, cta)
- template-login.php — صفحه ورود
۹.۲ صفحات
- لندینگ پیج
- صفحه رهگیری
- صفحه استعلام قیمت (PricingPageController)
بخش ۱۰: موارد اخیر فاز ۳ (۱۷ مورد کارفرما)
- ۱. رفع
openUrlInNewTab()روی اکشنهای PDF در ViewShipment - ۲. رفع
ShippingRatesImport(حذف SystemSetting + تبدیل ارز) - ۳. رفع تصاویر PDF (asset() بجای public_path())
- ۴. رفع label.blade.php تصاویر
- ۵. ستونهای جدید ShipmentResource (fromCountry, toCountry, route, phones, cod_amount)
- ۶. حذف reason_for_export تکراری
- ۷. رفع CSV label ($status?->label())
- ۸. Packages Repeater (collapsible)
- ۹. changeStatus به عنوان bulkAction
- ۱۰. afterSave hook برای ShipmentUpdatedNotification
- ۱۱. Currency CRUD (Resource + Pages + Migration + Model)
- ۱۲. RelationManagers (Create/Edit/Delete) + فیلد source
- ۱۳. سیستم نوتیفیکیشن دیتابیس
- ۱۴. Multi-package (migration + model + PDF)
- ۱۵. ImportRatesPage (دکمهها + دانلود template + ایمپورت)
- ۱۶. استایل تراکنشهای وردپرس
- ۱۷. هشدار انگلیسی بودن آدرس
- ۱۸. نوتیفیکیشن پنل کاربری وردپرس (تب + API + CSS)
- ۱۹. سیستم نمایندگی (طرح مطالعاتی آماده — منتظر تصمیم کارفرما)
بخش ۱۱: مستندات
- IFNEX_Phase0_Checklist.md (همین فایل)
- IFNEX_File_Map.md — نقشه فایلهای پروژه
- IFNEX_Roadmap.md — نقشه راه جامع ۴ فازی
- راهنمای اپراتور (Operator Manual) با اسکرینشات
- مستندات API (OpenAPI/Swagger)
خط قرمزها — هرگز این کارها را نکن
- هرگز جدول countries را به ۲ زون برگردانی
- هرگز فقط ۲ نوع سرویس پیاده کن (۳ نوع الزامی است)
- هرگز ترکینگ را در وردپرس پیاده کن
- هرگز فیلدهای مالی (VAT, Packing, Warehousing) را حذف کن
- هرگز از رنگ/لوگو DHL کپی کن
- هرگز PDF را به فارسی بسازی
- هرگز تاریخ را شمسی در DB ذخیره کنی
- هرگز از CORS
*استفاده کنی - هرگز فایل .env را در Git کامیت کنی
2026 VernaSoft Group. Internal use only.