ifnex/04_Laravel/README.md
Kazem Alghasi e032fceb34 docs(docs): update project documentation for phase 3.6 progress
Update all project documentation including README, Roadmap, Status,
and Agent guides to reflect the transition to Phase 3.6 (Client Meeting
Adjustments).

Key documentation updates:
- Documented the new order approval flow (pending_approval -> approved).
- Added details for shipment commitment forms and document download system.
- Included Kavenegar SMS integration and Audit Log implementation.
- Updated API endpoint references for new verification and commitment routes.
- Reflected increased project metrics (migrations, models, and API endpoints).
- Updated deployment notes regarding SMS configuration.
2026-09-11 21:53:05 +03:30

26 KiB
Raw Blame History

⚙️ IFNEX Laravel Backend

هسته مرکزی سیستم مدیریت لجستیک ایف‌نکس

Laravel PHP Filament MySQL Status


REST API + Admin Panel + Financial Engine + PDF Generator

🚀 نصب سریع📡 API Endpoints🗃️ Models🎨 Filament Resources📚 مستندات


🎯 نمای کلی

این پوشه شامل هسته مرکزی سیستم IFNEX است که شامل پنج بخش اصلی می‌شود:

۱. REST API کامل

ارتباط با WordPress از طریق Sanctum Token + Bridge Auth (بدون رمز عبور) — ۳۰+ endpoint برای تمام عملیات مشتری (سفارش، پرداخت، کیف پول، نوتیفیکیشن، رهگیری).

۲. پنل مدیریت Filament 3.3

پنل کامل برای اپراتورها و مدیران شامل مدیریت مرسوله‌ها، نرخ‌ها، ارزها، کاربران، گزارش‌های مالی و تنظیمات سیستم.

۳. موتور قیمت‌گذاری

محاسبه قیمت بر اساس ۴ زون (Export/Import × Parcel/Doc) و ۳ نوع سرویس با پشتیبانی از تخفیف، VAT، هزینه‌های داخلی و تبدیل ارز (درهم ↔ ریال).

۴. سیستم مالی و سندسازی

کیف پول دیجیتال، درگاه پرداخت Zarinpal، تولید خودکار PDF (AWB, Invoice, Label) با بارکد استاندارد و سیستم نوتیفیکیشن دیتابیس.

۵. Multi-Package و Invoice (فاز ۳.۵)

پشتیبانی از چند بسته در یک سفارش، فرم اقلام گمرکی (Invoice) برای محموله‌های PARCEL، و محاسبه خودکار وزن حجمی از ابعاد.

۶. فلوی تأیید سفارش و اعلان‌ها (فاز ۳.۶)

ثبت سفارش با وضعیت pending_approval → تأیید/رد توسط کارمند (پنل یا API) → باز شدن پرداخت → processed بعد از پرداخت. به‌همراه تعهدنامه‌ها (آپلود مدیر، دانلود/امضا/آپلود مشتری)، دانلود PDFها در پورتال مشتری، وضعیت مالی مشتری برای کارمندان، Audit Log و اعلان‌های SMS کاوه‌نگار.


🚀 نصب و راه‌اندازی سریع

پیش‌نیازها

ابزار حداقل نسخه توضیحات
PHP 8.2+ با extensions: pdo_mysql, mbstring, xml, gd, zip
Composer 2.x مدیریت وابستگی‌ها
MySQL 8.0+ دیتابیس اصلی
Node.js 18+ برای build assets (اختیاری)

مراحل نصب

# ۱. ورود به پوشه لاراول
cd 04_Laravel

# ۲. نصب وابستگی‌ها
composer install

# ۳. تنظیم فایل محیط
cp .env.example .env
php artisan key:generate

# ۴. ایجاد دیتابیس
mysql -u root -p -e "CREATE DATABASE ifnex_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

# ۵. ویرایش .env — مقادیر کلیدی (مشاهده جدول زیر)
# ۶. اجرای migrations و seeders
php artisan migrate --force
php artisan db:seed --force

# ۷. اجرای سرور
php artisan serve
# پنل ادمین: http://127.0.0.1:8000/panel

🔐 دسترسی پیش‌فرض

آیتم مقدار
URL پنل ادمین http://localhost:8000/panel
URL API http://localhost:8000/api/v1
ایمیل ادمین (از seeder) admin@ifnex.local
رمز عبور password

⚙️ تنظیمات مهم .env

# DATABASE
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ifnex_db
DB_USERNAME=root
DB_PASSWORD=

# IFNEX API
IFNEX_API_KEY=ifnex-local-dev-key
IFNEX_BRIDGE_API_KEY=ifnex-bridge-secret-key-2026-vernasoft  # مهم برای وردپرس
IFNEX_TRACKING_RATE_LIMIT=60

# CORS (فقط دامنه‌های مجاز وردپرس)
CORS_ALLOWED_ORIGINS=http://localhost,http://127.0.0.1

# PAYMENT GATEWAY (Zarinpal)
ZARINPAL_MERCHANT_ID=fake-merchant-id-for-testing  # برای Mock Mode
ZARINPAL_SANDBOX=true
ZARINPAL_CALLBACK_URL=http://localhost:8000/api/v1/payment/callback
ZARINPAL_FRONTEND_SUCCESS_URL=http://localhost/IFNEX-Logistics/03_WordPress/wallet
ZARINPAL_FRONTEND_FAILURE_URL=http://localhost/IFNEX-Logistics/03_WordPress/wallet

# CURRENCY API (برای بروزرسانی نرخ ارز)
CURRENCY_API_KEY=your_api_key_here
CURRENCY_API_URL=https://api.freecurrencyapi.com/v1/latest

# WALLET
WALLET_MIN_DEPOSIT=10000
WALLET_MAX_DEPOSIT=500000000
WALLET_AUTO_CREATE=true
WALLET_ALLOW_WITHDRAWAL=false

⚠️ نکته مهم: اگر ZARINPAL_MERCHANT_ID برابر fake-merchant-id-for-testing باشد، سیستم از MockZarinpalService استفاده می‌کند که برای تست لوکال مناسب است.


📡 API Endpoints

🔓 API عمومی (با API Key یا بدون احراز هویت)

متد Endpoint توضیح
GET /api/v1/track/{awb_no} رهگیری مرسوله (API Key)
POST /api/v1/calculate محاسبه قیمت
GET /api/v1/countries لیست کشورها با پیش‌شماره (عمومی)
GET /api/v1/discount-codes لیست کدهای تخفیف ⚠️ باید محدود شود
POST /api/v1/discount-codes/validate اعتبارسنجی کد تخفیف
POST /api/v1/bridge/login Bridge Auth (وردپرس ← لاراول)
POST /api/v1/auth/login ورود مشتری (ایمیل + رمز)
POST /api/v1/auth/logout خروج (Sanctum)
GET /api/v1/commitment-forms[/{direction}] لیست فرم‌های تعهدنامه فعال
POST /api/v1/verify/send-code ارسال کد تأیید موبایل (SMS)
POST /api/v1/verify/check-code بررسی کد تأیید موبایل

🔐 API مشتری (Sanctum Token)

متد Endpoint توضیح
GET /api/v1/customer/profile پروفایل + آمار + مانده حساب
GET /api/v1/customer/orders لیست سفارشات (paginated)
POST /api/v1/customer/orders ثبت سفارش جدید (با packages[] و items[]) — وضعیت pending_approval
GET /api/v1/customer/orders/{id} جزئیات سفارش
POST /api/v1/customer/orders/{id}/cancel لغو سفارش
GET /api/v1/customer/orders/{id}/pdf/awb دانلود AWB
GET /api/v1/customer/orders/{id}/pdf/invoice دانلود فاکتور (فقط PARCEL)
GET /api/v1/customer/orders/{id}/pdf/label دانلود لیبل
GET /api/v1/customer/orders/{id}/pdf/import-invoice دانلود فاکتور واردات
GET /api/v1/customer/orders/{id}/commitment-forms تعهدنامه‌های سفارش + وضعیت آپلود
POST /api/v1/customer/orders/{id}/commitment-forms/{form}/upload آپلود تعهدنامه امضاشده
POST /api/v1/customer/orders/{id}/pay-wallet پرداخت با کیف پول (فقط بعد از تأیید)
POST /api/v1/customer/orders/{id}/pay-gateway پرداخت با درگاه (فقط بعد از تأیید)
GET /api/v1/customer/notifications لیست اعلان‌ها
POST /api/v1/customer/notifications/{id}/read علامت‌گذاری خوانده‌شده

👷 API کارمندان (Sanctum Token) ⚠️ چک نقش در حال تکمیل

متد Endpoint توضیح
GET /api/v1/staff/orders/pending-approval سفارشات در انتظار تأیید
POST /api/v1/staff/orders/{id}/approve تأیید سفارش
POST /api/v1/staff/orders/{id}/reject رد سفارش
GET /api/v1/staff/customers/search جستجوی مشتری
GET /api/v1/staff/customers/{id}/financial-status وضعیت مالی مشتری (بدهی به تفکیک ارز)

💰 API کیف پول (Sanctum Token)

متد Endpoint توضیح
GET /api/v1/wallet/balance موجودی + آمار
GET /api/v1/wallet/transactions تراکنش‌ها (paginated)
GET /api/v1/wallet/{wallet}/activity-log لاگ فعالیت‌ها
POST /api/v1/wallet/{wallet}/freeze مسدود کردن کیف پول (admin)
POST /api/v1/wallet/{wallet}/unfreeze آزاد کردن کیف پول (admin)
POST /api/v1/wallet/admin-adjust تراکنش دستی (admin)

💳 API پرداخت

متد Endpoint توضیح
POST /api/v1/payment/redirect انتقال به درگاه (شارژ کیف پول)
GET /api/v1/payment/check/{transaction} بررسی وضعیت تراکنش
ANY /api/v1/payment/callback Callback از درگاه (Zarinpal)

🧪 Mock Gateway (تست لوکال)

متد Endpoint توضیح
GET /api/v1/payment/mock-gateway صفحه شبیه‌سازی درگاه
GET /api/v1/payment/mock-gateway/success شبیه‌سازی پرداخت موفق
GET /api/v1/payment/mock-gateway/failure شبیه‌سازی پرداخت ناموفق

📥 مثال: ثبت سفارش

curl -X POST http://localhost:8000/api/v1/customer/orders \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "direction": "export",
    "type": "PARCEL",
    "from_country_id": 1,
    "to_country_id": 2,
    "weight": 2.5,
    "volumetric_weight": 2.5,
    "sender_name": "John Doe",
    "sender_phone": "+98 9123456789",
    "sender_city": "Tehran",
    "sender_address": "No 1, ValiAsr Street",
    "receiver_name": "Ahmed Ali",
    "receiver_phone": "+971 501234567",
    "receiver_city": "Dubai",
    "receiver_address": "Sheikh Zayed Road 100"
  }'

🗂️ ساختار پروژه

04_Laravel/
├── app/
│   ├── Enums/                       # ShipmentStatus (۱۲ وضعیت), ShipmentDirection, ShipmentType, PaymentGateway, TransactionType, TransactionStatus, CarrierCode, TrackingSource, UserRole
│   ├── Filament/
│   │   ├── Resources/               # ۱۶ Resources
│   │   │   ├── ShipmentResource/    # مدیریت مرسوله‌ها + اکشن تأیید/رد + RelationManagers
│   │   │   ├── ShipmentChecklistResource/  # چک‌لیست کارمند
│   │   │   ├── CommitmentFormResource/     # فرم‌های تعهدنامه (آپلود مدیر)
│   │   │   ├── CustomerCreditResource/     # اعتبار مشتریان
│   │   │   ├── AuditLogResource/           # لاگ تغییرات
│   │   │   ├── CountryResource/     # مدیریت کشورها + calling_code
│   │   │   ├── ShippingRateResource/
│   │   │   ├── CurrencyResource/    # مدیریت ارزها
│   │   │   ├── UserResource/        # مدیریت کاربران
│   │   │   ├── WalletResource/      # کیف پول‌ها
│   │   │   ├── WalletTransactionResource/
│   │   │   ├── PaymentResource/     # پرداخت‌ها
│   │   │   ├── DiscountCodeResource/
│   │   │   ├── ShipmentItemResource/
│   │   │   ├── ExchangeRateHistoryResource/
│   │   │   └── RoleResource/        # مدیریت نقش‌ها
│   │   ├── Pages/
│   │   │   ├── IfnexSettingsPage.php        # تنظیمات سیستم + کلیدهای SMS
│   │   │   ├── PriceTestPage.php            # تست محاسبه قیمت
│   │   │   ├── ImportRatesPage.php          # آپلود اکسل نرخ‌ها
│   │   │   ├── BulkTrackingImport.php       # ایمپورت گروهی وضعیت ترکینگ (CSV)
│   │   │   └── Reports/FinancialReport.php  # گزارش مالی
│   │   └── Widgets/                 # DashboardInfo, ExchangeRate, FinanceOverview, WalletStats, ...
│   ├── Http/
│   │   ├── Controllers/
│   │   │   ├── Api/
│   │   │   │   ├── AuthController.php        # لاگین/لاگاوت مشتری
│   │   │   │   ├── BridgeAuthController.php  # Bridge Auth (وردپرس)
│   │   │   │   ├── TrackController.php       # رهگیری عمومی
│   │   │   │   ├── PricingController.php     # محاسبه قیمت
│   │   │   │   ├── DiscountCodeController.php
│   │   │   │   ├── PaymentController.php     # درگاه + Callback (با فلوی تأیید سفارش)
│   │   │   │   ├── MockGatewayController.php # شبیه‌سازی درگاه
│   │   │   │   ├── WalletController.php
│   │   │   │   ├── StaffOrderController.php  # تأیید/رد سفارشات
│   │   │   │   ├── CustomerFinancialController.php  # وضعیت مالی مشتری
│   │   │   │   ├── CommitmentFormController.php     # تعهدنامه‌ها + آپلود امضاشده
│   │   │   │   ├── MobileVerificationController.php # تأیید موبایل (SMS)
│   │   │   │   └── Customer/
│   │   │   │       └── CustomerOrderController.php  # سفارشات مشتری (packages/items/PDF/تعهدنامه)
│   │   │   ├── ShipmentPdfController.php     # AWB/Invoice/Label/Import-Invoice PDFs
│   │   │   └── OrderController.php           # فلوی legacy Blade (deprecated)
│   │   └── Middleware/
│   │       └── ApiKeyMiddleware.php          # برای APIهای عمومی
│   ├── Models/                      # ۲۲ مدل Eloquent
│   ├── Notifications/               # DB + SMS: ShipmentApprovedSms, ShipmentRejectedSms, PaymentSuccessSms, TrackingUpdatedSms, SmsChannel
│   ├── Observers/
│   │   └── ShipmentObserver.php     # تریگر نوتیفیکیشن/SMS روی تغییر وضعیت
│   ├── Traits/
│   │   └── Auditable.php            # لاگ خودکار تغییرات مدل‌ها
│   ├── Services/
│   │   ├── PriceCalculatorService.php        # موتور قیمت‌گذاری
│   │   ├── WalletService.php                 # مدیریت کیف پول
│   │   ├── OrderPaymentService.php           # پرداخت سفارش (کیف پول + درگاه)
│   │   ├── ZarinpalService.php               # درگاه واقعی
│   │   ├── MockZarinpalService.php           # درگاه شبیه‌سازی
│   │   ├── KavenegarSmsService.php           # سرویس پیامک
│   │   ├── ExchangeRateService.php
│   │   ├── PdfService.php                    # تولید PDF با بارکد
│   │   └── TrackingService.php
│   ├── Imports/                     # Excel imports (OldShipments, ShippingRates)
│   ├── Exports/                     # ShippingRatesTemplateExport
│   └── Console/Commands/
│       ├── ifnex:import:rates       # ایمپورت نرخ‌ها از اکسل
│       ├── ifnex:import:shipments   # ایمپورت مرسولات تاریخی
│       ├── ifnex:import:tracking    # ایمپورت داده‌های ترکینگ
│       ├── ifnex:sync-wp-users      # همگام‌سازی کاربران وردپرس
│       ├── ifnex:update-rates       # بروزرسانی نرخ ارز (--source=ecb|freecurrencyapi)
│       └── ifnex:token              # تولید API Token برای ادمین
│
├── database/
│   ├── migrations/                  # ۴۰ migration
│   └── seeders/
│       ├── CountriesTableSeeder.php # ۲۳۳ کشور + calling_code
│       ├── SystemSettingSeeder.php
│       ├── RoleAndPermissionSeeder.php
│       ├── SampleShippingRatesSeeder.php
│       ├── SampleDataSeeder.php
│       └── DatabaseSeeder.php
│
├── resources/views/
│   ├── pdfs/
│   │   ├── awb.blade.php            # Air Waybill PDF با بارکد
│   │   ├── invoice.blade.php        # فاکتور PDF (PARCEL)
│   │   ├── label.blade.php          # لیبل A5 با بارکد
│   │   └── import-invoice.blade.php # فاکتور واردات (مطابق شیت ENG)
│   └── filament/pages/              # صفحات Filament
│
├── routes/
│   ├── api.php                      # ۵۰+ REST API endpoint
│   └── web.php                      # Web (PDF قدیمی، payment-result، دانلود template)
│
└── config/
    ├── ifnex.php                    # تنظیمات اختصاصی IFNEX
    └── cors.php

🗃️ Models

Model جدول توضیح فاز
Country countries ۲۳۳ کشور با ۴ زون + calling_code ۰
Shipment shipments مرسوله‌ها (مدل مرکزی) ۰+۲+۳.۵
ShipmentItem shipment_items اقلام گمرکی (Invoice) ۰+۳.۵
ShipmentPackage shipment_packages بسته‌های چندگانه (Multi-Package) ۳.۵
ShipmentCarrierMapping shipment_carrier_mappings نگاشت شرکت‌های حمل ۰
ShipmentTrackingEvent shipment_tracking_events رویدادهای ترکینگ ۰
ShipmentStatusHistory shipment_status_histories تاریخچه تغییرات وضعیت ۲
ShippingRate shipping_rates تعرفه‌های حمل ۰
SystemSetting system_settings تنظیمات key-value ۰
Currency currencies ارزهای پشتیبانی (IRR, AED, USD, EUR, CNY) ۲
ExchangeRateHistory exchange_rate_histories تاریخچه نرخ ارز ۲
User users کاربران سیستم (admin + customer) ۰
Wallet wallets کیف پول کاربران ۲
WalletTransaction wallet_transactions تراکنش‌های کیف پول ۲
WalletActivityLog wallet_activity_logs لاگ فعالیت‌های کیف پول ۲
DiscountCode discount_codes کدهای تخفیف ۲
Payment payments پرداخت‌ها ۲
CommitmentForm commitment_forms فرم‌های تعهدنامه (آپلود مدیر) ۳.۶
ShipmentCommitmentForm shipment_commitment_forms تعهدنامه امضاشده هر سفارش ۳.۶
ShipmentChecklist shipment_checklists چک‌لیست کارمند برای هر سفارش ۳.۶
AuditLog audit_logs لاگ تغییرات مدل‌ها (polymorphic) ۳.۶
Role roles نقش‌ها (spatie/laravel-permission) ۲

جمع: ۲۲ مدل


🎨 Filament Resources

Resources اصلی

Resource توضیح ویژگی‌ها
ShipmentResource مدیریت مرسوله‌ها جدول + فرم + View + اکشن تأیید/رد + CSV Export + Bulk Actions
ShipmentChecklistResource چک‌لیست کارمند CRUD — ⚠️ اتصال خودکار به سفارش باقی است
CommitmentFormResource تعهدنامه‌ها آپلود فرم + direction (export/import/both)
CustomerCreditResource اعتبار مشتریان افزایش/کاهش اعتبار — ⚠️ نیازمند رفع و بازطراحی
AuditLogResource لاگ تغییرات مشاهده لاگ‌های Audit
CountryResource مدیریت کشورها CRUD + calling_code + ۴ زون
ShippingRateResource مدیریت تعرفه‌ها CRUD + فیلتر + Import از اکسل
CurrencyResource مدیریت ارزها CRUD + بروزرسانی خودکار نرخ
UserResource مدیریت کاربران CRUD + Role + Wallet link
WalletResource مدیریت کیف پول View + Freeze/Unfreeze + Activity Log
WalletTransactionResource تراکنش‌ها View + فیلتر + گزارش
PaymentResource پرداخت‌ها View + بررسی وضعیت
DiscountCodeResource کدهای تخفیف CRUD + اعتبارسنجی
RoleResource نقش‌ها مدیریت Roles + Permissions
ShipmentItemResource اقلام گمرکی CRUD
ExchangeRateHistoryResource تاریخچه نرخ ارز View

RelationManagers (ثبت‌شده در ShipmentResource)

RelationManager توضیح
TrackingEventsRelationManager رویدادهای ترکینگ با فیلد source
CarrierMappingsRelationManager نگاشت شرکت‌های حمل

صفحات سفارشی

صفحه توضیح
IfnexSettingsPage تنظیمات سیستم — نرخ درهم، VAT، حاشیه سود، کلید کاوه‌نگار و سوییچ‌های SMS
PriceTestPage تست محاسبه قیمت با پارامترهای مختلف — ⚠️ با مقادیر type فعلی خراب است
ImportRatesPage آپلود اکسل نرخ‌ها + دانلود Template
BulkTrackingImport ایمپورت گروهی وضعیت ترکینگ با CSV
FinancialReport گزارش مالی (درآمد، تخفیف، کارمزد)

🔧 Artisan Commands

# Import / Migration
php artisan ifnex:import:rates {path}        # ایمپورت نرخ‌ها از اکسل
php artisan ifnex:import:shipments {path}    # ایمپورت مرسولات تاریخی از اکسل
php artisan ifnex:import:tracking {path}     # ایمپورت داده‌های ترکینگ
php artisan ifnex:sync-wp-users              # همگام‌سازی کاربران وردپرس با لاراول

# Currency
php artisan ifnex:update-rates               # بروزرسانی نرخ ارز (--source=ecb یا freecurrencyapi)

# Token
php artisan ifnex:token                      # تولید API Token برای ادمین

# Standard
php artisan migrate                      # اجرای migrations
php artisan db:seed                      # اجرای seeders
php artisan serve                        # اجرای سرور
php artisan tinker                       # محیط تعاملی
php artisan route:list                   # لیست روت‌ها
php artisan config:clear                 # پاک‌سازی کش کانفیگ

🔴 خط قرمزها (ممنوعیت‌ها)

هرگز همیشه
برگرداندن countries به ۲ زون ۴ زون مجزا (Export/Import × Parcel/Doc)
استفاده از ۲ نوع سرویس ۳ نوع (DOC_NORMAL, DOC_ECONOMY, PARCEL)
ذخیره تاریخ شمسی در DB ذخیره timestamp میلادی + تبدیل در نمایش
CORS * در Production CORS محدود به دامنه وردپرس
کامیت .env در Git در .gitignore باشد
APP_DEBUG=true در Production APP_DEBUG=false
PDF فارسی (AWB/Invoice/Label) همیشه انگلیسی (برای حمل بین‌المللی)
کپی از DHL طراحی منحصر به فرد IFNEX
استفاده از wire:click برای دانلود استفاده از <a href> با روت مستقیم
getFormActions() در Custom Pages استفاده از wire:click در Blade
هدایت AJAX به redirect() استفاده از payment_url در response JSON
متدهای نوتیفیکیشن بیرون از کلاس داخل کلاس IFNEX_User_Bridge

🧪 تست

Mock Gateway

برای تست پرداخت بدون اتصال به Zarinpal واقعی، ZARINPAL_MERCHANT_ID=fake-merchant-id-for-testing را در .env تنظیم کنید. سپس:

  • پرداخت‌ها از طریق MockZarinpalService پردازش می‌شوند
  • URL پرداخت: /api/v1/payment/mock-gateway
  • شبیه‌سازی موفق: /api/v1/payment/mock-gateway/success
  • شبیه‌سازی ناموفق: /api/v1/payment/mock-gateway/failure

Bridge Token Test

curl -X POST http://localhost:8000/api/v1/bridge/login \
  -H "Content-Type: application/json" \
  -d '{
    "bridge_api_key": "YOUR_BRIDGE_KEY",
    "wp_user_id": 1,
    "wp_user_email": "user@example.com",
    "wp_user_name": "Test User",
    "token_name": "test"
  }'

📚 مستندات

فایل محتوا
IFNEX_Phase0_Checklist.md چک‌لیست کامل فازها
IFNEX_Roadmap.md نقشه راه ۴ فازی
IFNEX_File_Map.md نقشه ۱۰۰+ فایل
DEPLOYMENT.md راهنمای استقرار Production

🚀 مراحل بعدی

  • تست انتهای فلوی سفارش (تعهدنامه → تأیید → پرداخت)
  • امنیت: چک نقش روی /staff/*، چک مالکیت PDF/تعهدنامه، rate limiting
  • بازطراحی سیستم اعتبار (بدهی چندارزی) + رفع CustomerCreditResource
  • چک‌لیست خودکار کارمند بعد از تأیید سفارش
  • رفع PriceTestPage و ثبت شورت‌کد [ifnex_wallet_charge]
  • مستندات API (OpenAPI/Swagger)
  • اتصال به APIهای ترکینگ زنده (فاز ۵)
  • سیستم نمایندگی (فاز ۴)

وضعیت دقیق و جزئیات فاز ۳.۶: AGENT.md و IFNEX_Roadmap.md


© 2026 VernaSoft Group. All Rights Reserved.