# نقشه فایل‌های پروژه IFNEX > **آخرین بروزرسانی:** 2026-09-10 > **وضعیت کلی:** فاز ۰، ۱، ۲، ۳، ۳.۵ تکمیل ✅ — فاز ۳.۶ در حال تکمیل (۸۰%) 🟡 --- ## ۱. Migrations (۴۰ فایل) | # | فایل | فاز | |---|------|-----| | 1 | `0001_01_01_000000_create_users_table.php` | ۰ | | 2 | `0001_01_01_000001_create_cache_table.php` | ۰ | | 3 | `0001_01_01_000002_create_jobs_table.php` | ۰ | | 4 | `2026_08_02_000001_create_countries_table.php` | ۰ | | 5 | `2026_08_02_000002_create_shipments_table.php` | ۰ | | 6 | `2026_08_02_000003_create_shipping_rates_table.php` | ۰ | | 7 | `2026_08_02_000004_create_shipment_carrier_mappings_table.php` | ۰ | | 8 | `2026_08_02_000005_create_shipment_tracking_events_table.php` | ۰ | | 9 | `2026_08_02_000006_create_system_settings_table.php` | ۰ | | 10 | `2026_08_02_000007_update_users_table.php` | ۰ | | 11 | `2026_08_05_135016_create_wallets_table.php` | ۲ | | 12 | `2026_08_05_135022_create_wallet_transactions_table.php` | ۲ | | 13 | `2026_08_05_135026_create_discount_codes_table.php` | ۲ | | 14 | `2026_08_05_140000_create_payments_table.php` | ۲ | | 15 | `2026_08_07_000001_create_wallet_activity_logs_table.php` | ۲ | | 16 | `2026_08_07_033748_create_personal_access_tokens_table.php` | ۰ (Sanctum) | | 17 | `2026_08_08_000001_create_shipment_items_table.php` | ۰ | | 18 | `2026_08_08_000001_fix_discount_codes_type_enum.php` | ۲ | | 19 | `2026_08_09_012526_create_notifications_table.php` | ۲ | | 20 | `2026_08_09_220409_create_permission_tables.php` | ۲ (spatie) | | 21 | `2026_08_09_231738_create_exchange_rate_history_table.php` | ۲ | | 22 | `2026_08_10_020410_update_shipments_status_enum.php` | ۰ | | 23 | `2026_08_10_080853_add_wallet_to_payment_gateway_enum.php` | ۲ | | 24 | `2026_08_10_082121_add_system_to_tracking_source_enum.php` | ۲ | | 25 | `2026_08_24_000001_add_missing_fields_to_shipments_table.php` | ۳ | | 26 | `2026_08_24_100001_create_currencies_table.php` | ۲ | | 27 | `2026_08_24_200001_create_shipment_packages_table.php` | ۳.۵ | | 28 | `2026_08_24_300001_create_shipment_status_histories_table.php` | ۲ | | 29 | `2026_08_28_233839_add_calling_code_to_countries_table.php` | ۳ | | 30 | `2026_08_29_021506_fix_shipment_items_table.php` | ۳.۵ | | 31 | `2026_08_29_021631_make_name_nullable_in_shipment_items.php` | ۳.۵ | | 32 | `2026_09_03_000001_add_approval_statuses_to_shipments_table.php` | ۳.۶ (فلوی تأیید) | | 33 | `2026_09_03_000002_create_commitment_forms_table.php` | ۳.۶ (تعهدنامه) | | 34 | `2026_09_03_000003_add_credit_fields_to_users_table.php` | ۳.۶ (اعتبار) | | 35 | `2026_09_03_000004_create_shipment_checklists_table.php` | ۳.۶ (چک‌لیست) | | 36 | `2026_09_03_000005_create_audit_logs_table.php` | ۳.۶ (Audit Log) | | 37 | `2026_09_03_000006_add_import_invoice_fields_to_shipments_table.php` | ۳.۶ (فاکتور واردات) | | 38 | `2026_09_09_000001_create_shipment_commitment_forms_table.php` | ۳.۶ (تعهدنامه امضاشده) | | 39 | `2026_09_09_000002_create_shipment_status_history_table.php` | ۳.۶ | | 40 | `2026_09_09_000003_add_reason_to_shipment_status_history_table.php` | ۳.۶ | --- ## ۲. Models (۲۲ مدل) | # | فایل | توضیح | |---|------|-------| | 1 | `Country.php` | ۲۳۳ کشور + ۴ زون + calling_code | | 2 | `Shipment.php` | مدل مرکزی مرسوله (casts enum + روابط کامل) | | 3 | `ShipmentCarrierMapping.php` | نگاشت شرکت‌های حمل | | 4 | `ShipmentTrackingEvent.php` | رویدادهای ترکینگ | | 5 | `ShipmentItem.php` | اقلام گمرکی فاکتور | | 6 | `ShipmentPackage.php` | بسته‌های چندگانه + محاسبه وزن حجمی | | 7 | `ShipmentStatusHistory.php` | تاریخچه تغییر وضعیت (from/to/reason) | | 8 | `ShippingRate.php` | تعرفه‌ها (zone_1..zone_10) | | 9 | `SystemSetting.php` | تنظیمات key-value | | 10 | `User.php` | کاربران + اعتبار (credit_limit/credit_used) | | 11 | `Currency.php` | ارزها | | 12 | `Wallet.php` | کیف پول | | 13 | `WalletTransaction.php` | تراکنش‌ها (polymorphic) | | 14 | `WalletActivityLog.php` | لاگ فعالیت کیف پول | | 15 | `DiscountCode.php` | کدهای تخفیف | | 16 | `Payment.php` | پرداخت‌های درگاه | | 17 | `ExchangeRateHistory.php` | تاریخچه نرخ ارز | | 18 | `Role.php` | نقش‌ها (spatie) | | 19 | `CommitmentForm.php` | فرم‌های تعهدنامه پایه | | 20 | `ShipmentCommitmentForm.php` | تعهدنامه امضاشده هر سفارش | | 21 | `ShipmentChecklist.php` | چک‌لیست کارمند | | 22 | `AuditLog.php` | لاگ تغییرات (polymorphic) | --- ## ۳. Enums (۹ فایل) | # | فایل | مقادیر | |---|------|--------| | 1 | `ShipmentStatus.php` | pending_approval, approved, pending_payment, cancelled, processed, picked_up, in_transit, out_for_delivery, failed, delivered, returned, archived | | 2 | `ShipmentDirection.php` | import, export | | 3 | `ShipmentType.php` | DOC_NORMAL, DOC_ECONOMY, PARCEL | | 4 | `CarrierCode.php` | DHL, FEDEX, UPS, ARAMEX, NAGHEL, EMX, APSITEX, IMPEX, OTHER | | 5 | `PaymentGateway.php` | zarinpal, wallet, manual, system | | 6 | `TransactionType.php` | deposit, withdrawal, order_payment, refund | | 7 | `TransactionStatus.php` | pending, completed, failed, refunded | | 8 | `TrackingSource.php` | manual, api, import, system, customer | | 9 | `UserRole.php` | super_admin, tracking_operator, data_entry, customer | --- ## ۴. Controllers ### app/Http/Controllers/Api (۱۲ کنترلر) | # | فایل | توضیح | |---|------|-------| | 1 | `TrackController.php` | رهگیری عمومی (API Key) | | 2 | `PricingController.php` | محاسبه قیمت | | 3 | `AuthController.php` | ورود/خروج Sanctum | | 4 | `BridgeAuthController.php` | Bridge Auth وردپرس | | 5 | `Customer/CustomerOrderController.php` | سفارشات مشتری (۶۷۲ خط — بزرگ‌ترین فایل اپ) | | 6 | `WalletController.php` | کیف پول + ادمین | | 7 | `PaymentController.php` | درگاه + callback (فلوی تأیید سفارش) | | 8 | `DiscountCodeController.php` | کدهای تخفیف | | 9 | `MockGatewayController.php` | درگاه شبیه‌سازی | | 10 | `StaffOrderController.php` | تأیید/رد سفارشات کارمند | | 11 | `CustomerFinancialController.php` | وضعیت مالی مشتری (بدهی به تفکیک ارز) | | 12 | `CommitmentFormController.php` | تعهدنامه‌ها + آپلود امضاشده | | 13 | `MobileVerificationController.php` | تأیید موبایل (کد SMS) | ### app/Http/Controllers (وب) | # | فایل | توضیح | |---|------|-------| | 1 | `ShipmentPdfController.php` | AWB / Invoice / Label / Import-Invoice | | 2 | `OrderController.php` | فلوی legacy Blade (deprecated) | | 3 | `PricingPageController.php` | صفحه استعلام قیمت | --- ## ۵. Services (۸ سرویس) | # | فایل | توضیح | |---|------|-------| | 1 | `PriceCalculatorService.php` | موتور قیمت‌گذاری (۴ زون + VAT + تخفیف) | | 2 | `PdfService.php` | تولید PDF با بارکد base64 | | 3 | `TrackingService.php` | تایم‌لاین و رویدادهای رهگیری | | 4 | `OrderPaymentService.php` | پرداخت سفارش (کیف پول + درگاه) | | 5 | `WalletService.php` | شارژ/برداشت/تسویه کیف پول | | 6 | `ZarinpalService.php` | درگاه واقعی زرین‌پال | | 7 | `MockZarinpalService.php` | درگاه شبیه‌سازی تست | | 8 | `ExchangeRateService.php` | نرخ ارز + تاریخچه | | 9 | `KavenegarSmsService.php` | سرویس پیامک کاوه‌نگار | --- ## ۶. Notifications / Observers / Traits | # | فایل | توضیح | |---|------|-------| | 1 | `Notifications/ShipmentUpdatedNotification.php` | نوتیفیکیشن دیتابیسی تغییر سفارش | | 2 | `Notifications/ShipmentApprovedSms.php` | SMS تأیید سفارش | | 3 | `Notifications/ShipmentRejectedSms.php` | SMS رد سفارش | | 4 | `Notifications/PaymentSuccessSms.php` | SMS پرداخت موفق | | 5 | `Notifications/TrackingUpdatedSms.php` | SMS بروزرسانی ترکینگ | | 6 | `Notifications/Channels/SmsChannel.php` | کانال ارسال SMS | | 7 | `Observers/ShipmentObserver.php` | تریگر خودکار نوتیفیکیشن/SMS روی تغییر وضعیت | | 8 | `Traits/Auditable.php` | لاگ خودکار تغییرات مدل‌ها | --- ## ۷. Filament (پنل ادمین `/panel`) ### Resources (۱۶) | # | Resource | توضیح | |---|----------|-------| | 1 | ShipmentResource | مرسوله‌ها + اکشن تأیید/رد + RelationManagers | | 2 | ShipmentItemResource | اقلام گمرکی | | 3 | ShipmentChecklistResource | چک‌لیست کارمند | | 4 | CommitmentFormResource | تعهدنامه‌ها (آپلود مدیر) | | 5 | CustomerCreditResource | اعتبار مشتریان | | 6 | AuditLogResource | لاگ تغییرات | | 7 | CountryResource | کشورها | | 8 | CurrencyResource | ارزها | | 9 | ShippingRateResource | تعرفه‌ها | | 10 | UserResource | کاربران | | 11 | RoleResource | نقش‌ها | | 12 | WalletResource | کیف پول‌ها | | 13 | WalletTransactionResource | تراکنش‌ها | | 14 | PaymentResource | پرداخت‌ها | | 15 | DiscountCodeResource | کدهای تخفیف | | 16 | ExchangeRateHistoryResource | تاریخچه نرخ ارز | ### Pages | # | فایل | توضیح | |---|------|-------| | 1 | `Dashboard.php` | داشبورد | | 2 | `IfnexSettingsPage.php` | تنظیمات سیستم + کلیدهای SMS | | 3 | `ImportRatesPage.php` | آپلود اکسل نرخ‌ها | | 4 | `PriceTestPage.php` | تست قیمت‌گذاری (⚠️ خراب — در لیست رفع) | | 5 | `BulkTrackingImport.php` | ایمپورت گروهی وضعیت ترکینگ (CSV) | | 6 | `Reports/FinancialReport.php` | گزارش مالی | ### Widgets (۵) DashboardInfoWidget، ExchangeRateWidget، FinanceOverviewWidget، WalletStats، RecentTransactionsWidget، TransactionChartWidget ### RelationManagers (Shipment) CarrierMappingsRelationManager، TrackingEventsRelationManager --- ## ۸. سایر اجزای لاراول | # | فایل | توضیح | |---|------|-------| | 1 | `Imports/OldShipmentsImport.php` | ایمپورت مرسولات تاریخی | | 2 | `Imports/ShippingRatesImport.php` | ایمپورت نرخ‌ها (۵ شیت) | | 3 | `Exports/ShippingRatesTemplateExport.php` | قالب اکسل نرخ‌ها | | 4 | `Http/Middleware/ApiKeyMiddleware.php` | احراز API Key | | 5 | `Console/Commands` | ifnex:import:rates, ifnex:import:shipments, ifnex:import:tracking, ifnex:sync-wp-users, ifnex:update-rates, ifnex:token (+ ifnex:debug:import) | | 6 | `config/ifnex.php` + `config/cors.php` | تنظیمات اختصاصی | | 7 | `views/pdfs/awb.blade.php` | بارنامه با بارکد | | 8 | `views/pdfs/invoice.blade.php` | فاکتور (PARCEL) | | 9 | `views/pdfs/label.blade.php` | لیبل A5 با بارکد | | 10 | `views/pdfs/import_invoice.blade.php` | فاکتور واردات (مطابق شیت ENG) | | 11 | `database/seeders/` | CountriesTableSeeder، SystemSettingSeeder، RoleAndPermissionSeeder، SampleShippingRatesSeeder، SampleDataSeeder، DatabaseSeeder | --- ## ۹. وردپرس — پلاگین IFNEX Bridge | # | فایل | توضیح | |---|------|-------| | 1 | `ifnex-bridge.php` | فایل اصلی + صفحه تنظیمات + enqueue ها | | 2 | `includes/api-client.php` | کلاینت API ترکینگ | | 3 | `includes/user-bridge.php` | Bridge Auth + توکن Sanctum + هندلرهای AJAX (کیف پول، سفارش، پرداخت، کشورها) | | 4 | `includes/shortcodes.php` | ۱۰+ شورت‌کد پورتال مشتری (~۱۴۰۰ خط) | | 5 | `includes/tracking-form.php` | فرم رهگیری + هندلر AJAX | | 6 | `assets/css/ifnex-bridge.css` | استایل رهگیری/کیف پول/تراکنش | | 7 | `assets/css/ifnex-orders.css` | استایل فرم سفارش/داشبورد/پرداخت | | 8 | `assets/js/ifnex-order-form.js` | فرم ۵ مرحله‌ای (بسته‌ها + اقلام + محاسبه) | **شورت‌کدها:** `[ifnex_tracking_form]`, `[ifnex_tracking_status]`, `[ifnex_customer_dashboard]`, `[ifnex_orders_list]`, `[ifnex_order_form]`, `[ifnex_order_detail]`, `[ifnex_order_payment]`, `[ifnex_user_profile]`, `[ifnex_wallet_balance]`, `[ifnex_transactions]` ⚠️ `[ifnex_wallet_charge]` هنوز ثبت نشده (صفحه /wallet/ خراب است). --- ## ۱۰. وردپرس — قالب IFNEX | # | فایل | توضیح | |---|------|-------| | 1 | `style.css` | دیزاین‌سیستم کامل (~۵۹KB) | | 2 | `functions.php` | پشتیبانی‌ها، منوها، Polylang، enqueue | | 3 | `header.php` / `footer.php` | سربرگ/پابرگ با سوییچ زبان | | 4 | `front-page.php` | لندینگ اصلی (Hero + خدمات + CTA) | | 5 | `template-login.php` | صفحه ورود سفارشی | | 6 | `inc/customizer.php` | تنظیمات قالب (لوگو، متن‌ها FA/EN) | | 7 | `inc/enqueue.php` | (stub) | | 8 | `assets/js/main.js` | افکت‌ها + ریدایرکت رهگیری Hero | | 9 | `template-parts/` | ۶ پارشل (در حال حاضر استفاده نمی‌شوند) | | 10 | `404.php`, `index.php`, `page.php`, `single.php`, `archive.php` | قالب‌های عمومی | --- ## ۱۱. صفحات وردپرس و شورت‌کدها | آدرس | شورت‌کد | وضعیت | |------|---------|--------| | `/my-account/` | `[ifnex_customer_dashboard]` | ✅ (تب‌ها: dashboard, orders, new-order, wallet, transactions, tracking, profile) | | `/new-order/` | `[ifnex_order_form]` | ✅ | | `/my-orders/` | `[ifnex_orders_list]` | ✅ | | `/order-detail/` | `[ifnex_order_detail]` | ✅ | | `/order-payment/` | `[ifnex_order_payment]` | ✅ | | `/tracking/` | `[ifnex_tracking_form]` | ✅ | | `/wallet/` | `[ifnex_wallet_charge]` | ❌ شورت‌کد ثبت نشده | > مجموع: **۴۰ migration، ۲۲ مدل، ۹ Enum، ۱۳ کنترلر API، ۹ سرویس، ۱۶ Resource فیلمنت، ۱۰+ شورت‌کد وردپرس** > 2026 VernaSoft Group. Internal use only.