1786476829s:21355:"Project root: /home/bmitlt62/commerce22.bmitltd.com
Framework: Laravel 12.48.1
PHP: 8.2.29

### Directory map
- app/Http/Controllers/Admin/ (85 files)
- app/Http/Controllers/Frontend/ (15 files)
- app/Models/ (93 files)
- app/Services/ (14 files)
- routes/ (4 files)
- resources/views/backEnd/ (230 files)
- config/ (25 files)

### Admin controllers & public methods
- AdminComplaintController: index, updateStatus, destroy
- AdsAnalyticsController: dashboard, facebook, google, tiktok, liveData, settings, saveSettings
- ApiIntegrationController: pay_manage, pay_update, sms_manage, sms_update, sms_balance, bdcourier_my_plan, steadfast_dashboard_widget, sms_toggle_field, courier_manage, courier_update, pathao_generate_token, sms_custom_send_page, sms_custom_send
- AttendanceController: index, create, store, bulkMark, edit, update, destroy
- BannerCategoryController: index, create, store, edit, update, inactive, active, destroy
- BannerController: index, create, store, edit, update, inactive, active, destroy
- BlogController: index, create, store, edit, update, delete
- BonusController: index, create, store, approve, pay, reject, edit, update, destroy
- BrandController: index, create, store, edit, update, inactive, active, destroy
- CampaignController: index, create, store, edit, update, inactive, active, destroy, imgdestroy, getYouTubeVideoId
- CategoryController: index, create, store, edit, update, inactive, active, destroy
- ChildcategoryController: getSubCategory, index, create, store, edit, update, inactive, active, destroy
- ColorController: index, create, store, edit, update, inactive, active, destroy
- ContactController: index, create, store, edit, update, inactive, active, destroy
- ContactMessageController: index, status, destroy
- CouponController: index, create, store, edit, update, destroy
- CreatePageController: index, create, store, edit, update, inactive, active, destroy
- CronJobController: index, toggle, update_settings, run_now, status
- CustomerManageController: index, edit, update, inactive, active, profile, adminlog, ip_block, ipblock_store, ipblock_update, ipblock_destroy, destroy, destroyAll, ipblock_quick_store
- DashboardController: dashboard, pollNewOrders, newOrdersForPopup, dismissNewOrdersPopup, changepassword, newpassword, locked, unlocked
- DeliveryBoyController: index, create, store, edit, update, wallet, paySalary, withdrawals, approveWithdrawal, rejectWithdrawal
- DeliveryDistrictController: index, create, store, edit, update, destroy
- DeliveryDivisionController: index, create, store, edit, update, destroy
- DeliveryUpazilaController: index, create, store, edit, update, destroy
- EmailSettingController: index, update
- EmployeeController: index, create, store, show, edit, update, destroy, importFromUser
- ErrorLogController: index, create, testLog
- ExpenseController: index, store, edit, update, destroy, logs, export
- FacebookCapiSettingController: edit, update
- FacebookPageController: settings, saveSettings, postProduct
- FeatureController: index, create, store, edit, update, inactive, active, destroy
- FraudSettingController: index, update
- FundController: index, add, withdraw, export, edit, update, destroy, logs
- GeminiAdminChatController: index, send, clear, refreshContext
- GeminiAiSettingController: edit, update, test
- GeneralSettingController: index, create, store, edit, update, inactive, active, destroy
- IncompleteOrderController: index, store, accept, destroy
- InhouseProductController: index, show
- LeaveController: index, create, store, approve, reject, edit, update, destroy
- LicenseController: licenseInfo
- ManualPaymentGatewayController: index, store, update, destroy
- NewsletterSubscriberController: index, destroy
- OrderController: fraudCheck, manualFraudCheckPage, manualFraudCheck, aiOrderRiskAssessment, duplicateOrderCheck, manualDuplicateOrderCheckPage, manualDuplicateOrderCheck, index, orderQuickView, pathaocity, pathaozone, redxAreas, redxPickupStores, order_pathao, invoice, process, updateSingleStatus, order_process, destroy, bulk_destroy, ...
- OrderRestrictionSettingController: index, update
- OrderStatusController: index, create, store, edit, update, inactive, active, destroy
- PermissionController: index, create, store, edit, update, destroy
- PixelsController: index, create, store, edit, update, inactive, active, destroy
- PopupController: index, store, edit, update, status, destroy
- ProductController: getSubcategory, getChildcategory, index, wholesale, create, store, show, edit, update, destroy, imgdestroy, update_deals, update_status, pending, approve, reject, generateAIDescription
- PurchaseController: index, store, payDue, returnItem, invoice, export, edit, update, destroy, logs
- RedXWebhookController: handleWebhook
- RefundController: index, show, approve, reject, process, destroy
- ReportController: orders, purchases, expenses, stock, profitLoss
- ReportsController: no public methods
- ResellerController: index, edit, update, destroy, toggleStatus
- ResellerDepositController: index, markAsPaid
- ResellerOrderController: index, updateStatus, bulkUpdateStatus
- ResellerVerificationController: index, show, approve, reject
- ResellerWithdrawalController: index, approve, reject
- ReviewController: index, create, store, edit, update, pending, inactive, active, destroy
- RoleController: index, create, store, show, edit, update, destroy
- SalaryController: index, calculate, bulkCalculate, show
- SalaryPaymentController: index, create, store, payFromSalary, show
- SaleNotificationController: index, syncRealOrders, saveSettings, store, bulkStore, toggle, reorder, destroy, destroyAll, destroyAllReal
- SeoSettingController: index, update
- ShippingChargeController: index, create, store, edit, update, inactive, active, destroy
- SitemapController: index, generate
- SizeController: index, create, store, edit, update, inactive, active, destroy
- SocialLoginSettingController: edit, update
- SocialMediaController: index, create, store, edit, update, inactive, active, destroy
- SteadfastWebhookController: handle
- SubcategoryController: getCategory, index, create, store, edit, update, inactive, active, destroy
- SuperLoginController: showLoginForm, login, clearCaches
- SupplierController: index, store, edit, update, destroy
- TagManagerController: index, create, store, edit, update, inactive, active, destroy
- TiktokPixelsController: index, create, store, edit, update, inactive, active, destroy
- UpdateController: index, checkUpdates, downloadUpdate, createBackup, listBackups, downloadBackup, getUpdateInfo, installUpdate
- UpdateReleaseController: index, store, toggleActive, destroy
- UserController: index, create, store, edit, update, inactive, active, destroy
- VendorController: index, edit, update, destroy, toggleStatus, approveVerification, rejectVerification
- VendorVerificationController: index, show, approve, reject
- VendorWithdrawalController: index, approve, reject
- WholesaleProductController: index, create, store, show, edit, update, destroy, approve, reject, getSubcategory, getChildcategory

### Models (93)
- AdsAnalyticsSetting, Banner, BannerCategory, Blog, Brand, Campaign, CampaignReview, Cart, Category, Childcategory, Color, Complaint, Contact, ContactMessage, Coupon, Courierapi, CreatePage, CronJobSetting, Customer, DeliveryBoy, DeliveryBoySalaryPayment, DeliveryBoyWalletTransaction, DeliveryBoyWithdrawal, DeliveryDistrict, DeliveryDivision, DeliveryUpazila, DigitalDownload, District, EcomPixel, Employee, EmployeeAttendance, EmployeeBonus, EmployeeLeave, EmployeeSalary, EmployeeSalaryPayment, Expense, ExpenseLog, FacebookCapiSetting, FacebookPageSetting, Feature, Flavor, FundTransaction, FundTransactionLog, GeminiAiSetting, GeneralSetting, GoogleTagManager, IncompleteOrder, IpBlock, ManualPaymentGateway, NewsletterSubscriber, NotificationSetting, Order, OrderDetails, OrderStatus, Payment, PaymentGateway, Popup, Product, ProductVariantPrice, ProductWholesalePrice, Productcolor, Productimage, Productsize, Purchase, PurchaseItem, PurchaseLog, Refund, ResellerDeposit, ResellerLandingContactMessage, ResellerLandingNewsletterSubscriber, ResellerLandingPage, ResellerLandingProduct, ResellerWalletTransaction, ResellerWithdrawal, Review, SaleNotification, Shipping, ShippingCharge, Size, SmsGateway, SocialMedia, Subcategory, Supplier, SupplierPayment, TiktokPixel, User, Vendor, VendorWallet, VendorWalletTransaction, VendorWithdrawal, Version, WholesaleProduct, WholesaleProductImage

### Services
- BdCourierService: BD Courier Bearer টোকেন: প্রথমে অ্যাডমিন ফ্রড সেটিংস (`general_settings.fraud_api_key`),
- CourierWebhookOrderService: কুরিয়ার ওয়েবহুক থেকে অর্ডার স্ট্যাটাস আপডেট — RedX / Steadfast ইত্যাদি।
- DeliveryBoyWalletService
- FacebookCapiService: Lazy load credentials - only when needed
- FacebookPagePostService
- GeminiAdminContextService: @return array<string, int|string|bool>
- GeminiAiService: @param array<int, array{role: string, parts: array<int, array{text: string}>}> $contents
- GeminiCodebaseContextService: @return array<int, string>
- GeminiCustomerContextService: @return array<int, array<string, mixed>>
- LicenseVerificationService: এডমিন লাইসেন্স পেজে ১০০ ঘণ্টা ক্যাশ স্ট্যাটাস দেখানোর জন্য।
- RedXService: Check if service is properly configured

### Admin routes (name → URI)
- admin.password.request → /admin/admin/forgot-password
- admin.password.email → /admin/admin/forgot-password
- admin.sitemap.index → /admin//sitemap
- admin.sitemap.generate → /admin//sitemap/generate
- admin.fund.index → /admin//fund
- admin.fund.add → /admin//fund/add
- admin.fund.withdraw → /admin//fund/withdraw
- admin.fund.export → /admin//fund/export
- admin.fund.logs → /admin//fund/logs
- admin.fund.edit → /admin//fund/{id}/edit
- admin.fund.update → /admin//fund/{id}/update
- admin.fund.destroy → /admin//fund/{id}
- admin.vendor.withdrawals.index → /admin//vendor-withdrawals
- admin.vendor.withdrawals.approve → /admin//vendor-withdrawals/{id}/approve
- admin.vendor.withdrawals.reject → /admin//vendor-withdrawals/{id}/reject
- admin.expenses.index → /admin//expenses
- admin.expenses.store → /admin//expenses/store
- admin.expenses.logs → /admin//expenses/logs
- admin.expenses.edit → /admin//expenses/{id}/edit
- admin.expenses.update → /admin//expenses/{id}/update
- admin.expenses.destroy → /admin//expenses/{id}
- admin.expenses.export → /admin//expenses/export
- admin.sms.custom.page → /admin//admin/sms/custom-send
- admin.sms.custom.send → /admin//admin/sms/custom-send
- admin.coupons.index → /admin/coupon/manage
- admin.coupons.create → /admin/coupon/create
- admin.coupons.store → /admin/coupon/save
- admin.coupons.edit → /admin/coupon/{id}/edit
- admin.coupons.update → /admin/
- admin.license.info → /admin/license-info
- admin.updates.index → /admin/updates
- admin.updates.check → /admin/updates/check
- admin.updates.info → /admin/updates/info
- admin.updates.download → /admin/updates/download
- admin.updates.install → /admin/updates/install
- admin.updates.backups → /admin/updates/backups
- admin.updates.create-backup → /admin/updates/create-backup
- admin.updates.backup.download → /admin/updates/backup/download/{filename}
- admin.update.release → /admin/update-release
- admin.update.release.store → /admin/update-release
- admin.update.release.toggle → /admin/update-release/{id}/toggle
- admin.update.release.destroy → /admin/update-release/{id}
- admin.reports.orders → /admin/reports/orders
- admin.reports.purchases → /admin/reports/purchases
- admin.reports.expenses → /admin/reports/expenses
- admin.reports.stock → /admin/reports/stock
- admin.reports.profit_loss → /admin/reports/profit-loss
- admin.suppliers.index → /admin/suppliers/manage
- admin.suppliers.store → /admin/suppliers/store
- admin.suppliers.edit → /admin/suppliers/{id}/edit
- admin.suppliers.update → /admin/suppliers/{id}/update
- admin.suppliers.destroy → /admin/suppliers/{id}
- admin.employees.index → /admin/employees
- admin.employees.create → /admin/employees/create
- admin.employees.store → /admin/employees/store
- admin.employees.import → /admin/employees/import-user
- admin.employees.show → /admin/employees/{id}
- admin.employees.edit → /admin/employees/{id}/edit
- admin.employees.update → /admin/employees/{id}/update
- admin.employees.destroy → /admin/employees/{id}
- admin.attendances.index → /admin/attendances
- admin.attendances.create → /admin/attendances/create
- admin.attendances.store → /admin/attendances/store
- admin.attendances.bulk → /admin/attendances/bulk-mark
- admin.attendances.edit → /admin/attendances/{id}/edit
- admin.attendances.update → /admin/attendances/{id}/update
- admin.attendances.destroy → /admin/attendances/{id}
- admin.leaves.index → /admin/leaves
- admin.leaves.create → /admin/leaves/create
- admin.leaves.store → /admin/leaves/store
- admin.leaves.approve → /admin/leaves/{id}/approve
- admin.leaves.reject → /admin/leaves/{id}/reject
- admin.leaves.edit → /admin/leaves/{id}/edit
- admin.leaves.update → /admin/leaves/{id}/update
- admin.leaves.destroy → /admin/leaves/{id}
- admin.salaries.index → /admin/salaries
- admin.salaries.calculate → /admin/salaries/calculate
- admin.salaries.bulk_calculate → /admin/salaries/bulk-calculate
- admin.salaries.show → /admin/salaries/{id}
- admin.bonuses.index → /admin/bonuses
- admin.bonuses.create → /admin/bonuses/create
- admin.bonuses.store → /admin/bonuses/store
- admin.bonuses.approve → /admin/bonuses/{id}/approve
- admin.bonuses.pay → /admin/bonuses/{id}/pay
- admin.bonuses.reject → /admin/bonuses/{id}/reject
- admin.bonuses.edit → /admin/bonuses/{id}/edit
- admin.bonuses.update → /admin/bonuses/{id}/update
- admin.bonuses.destroy → /admin/bonuses/{id}
- admin.salary_payments.index → /admin/salary-payments
- admin.salary_payments.create → /admin/salary-payments/create
- admin.salary_payments.store → /admin/salary-payments/store
- admin.salary_payments.pay_from_salary → /admin/salary-payments/pay-from-salary/{salaryId}
- admin.salary_payments.show → /admin/salary-payments/{id}
- admin.dashboard → /admin/dashboard
- admin.dashboard.new_orders_popup → /admin/dashboard/new-orders-popup
- admin.dashboard.dismiss_new_orders_popup → /admin/dashboard/dismiss-new-orders-popup
- admin.orders.poll_new → /admin/orders/poll-new
- admin.cron.index → /admin/cron-jobs
- admin.cron.toggle → /admin/cron-jobs/{id}/toggle
- admin.cron.settings → /admin/cron-jobs/{id}/settings
- admin.cron.run_now → /admin/cron-jobs/{id}/run-now
- admin.cron.status → /admin/cron-jobs/{id}/status
- admin.courierapi.pathao.generate_token → /admin/courierapi/pathao-generate-token
- admin.redx.areas → /admin/redx/areas
- admin.redx.pickup-stores → /admin/redx/pickup-stores
- admin.facebook_capi.edit → /admin/facebook-capi/settings
- admin.facebook_capi.update → /admin/facebook-capi/settings
- admin.gemini_ai.edit → /admin/gemini-ai/settings
- admin.gemini_ai.update → /admin/gemini-ai/settings
- admin.social_login.edit → /admin/social-login/settings
- admin.social_login.update → /admin/social-login/settings
- admin.gemini_ai.test → /admin/gemini-ai/test
- admin.gemini_chat.index → /admin/gemini-chat
- admin.gemini_chat.send → /admin/gemini-chat/send
- admin.gemini_chat.clear → /admin/gemini-chat/clear
- admin.gemini_chat.refresh_context → /admin/gemini-chat/refresh-context
- admin.ads_analytics.dashboard → /admin/ads-analytics
- admin.ads_analytics.facebook → /admin/ads-analytics/facebook
- admin.ads_analytics.google → /admin/ads-analytics/google
- admin.ads_analytics.tiktok → /admin/ads-analytics/tiktok
- admin.ads_analytics.live_data → /admin/ads-analytics/live
- admin.ads_analytics.settings → /admin/ads-analytics/settings
- admin.ads_analytics.save_settings → /admin/ads-analytics/settings
- admin.facebook_page.settings → /admin/facebook-page/settings
- admin.facebook_page.save_settings → /admin/facebook-page/settings
- admin.facebook_page.post_product → /admin/facebook-page/post-product/{product}
- admin.products.wholesale → /admin/products/wholesale
- admin.wholesale_products.index → /admin/wholesale-products
- admin.wholesale_products.create → /admin/wholesale-products/create
- admin.wholesale_products.store → /admin/wholesale-products
- admin.wholesale_products.show → /admin/wholesale-products/{id}
- admin.wholesale_products.edit → /admin/wholesale-products/{id}/edit
- admin.wholesale_products.update → /admin/wholesale-products/{id}
- admin.wholesale_products.destroy → /admin/wholesale-products/{id}
- admin.wholesale_products.approve → /admin/wholesale-products/{id}/approve
- admin.wholesale_products.reject → /admin/wholesale-products/{id}/reject
- admin.ajax.wholesale.subcategory → /admin/ajax-wholesale-subcategory
- admin.ajax.wholesale.childcategory → /admin/ajax-wholesale-childcategory
- admin.sale-notification.index → /admin/sale-notification
- admin.sale-notification.settings → /admin/sale-notification/settings
- admin.sale-notification.store → /admin/sale-notification/store
- admin.sale-notification.bulk → /admin/sale-notification/bulk
- admin.sale-notification.reorder → /admin/sale-notification/reorder
- admin.sale-notification.sync-real → /admin/sale-notification/sync-real
- admin.sale-notification.toggle → /admin/sale-notification/{id}/toggle
- admin.sale-notification.destroy → /admin/sale-notification/{id}
- admin.sale-notification.destroy-all → /admin/sale-notification-all
- admin.sale-notification.destroy-all-real → /admin/sale-notification-all-real
- admin.order.create → /admin/order/create
- admin.order.store → /admin/order/store
- admin.order.cart_add → /admin/order/cart-add
- admin.order.cart_content → /admin/order/cart-content
- admin.order.cart_increment → /admin/order/cart-increment
- admin.order.cart_decrement → /admin/order/cart-decrement
- admin.order.cart_remove → /admin/order/cart-remove
- admin.order.product_discount → /admin/order/cart-product-discount
- admin.order.cart_details → /admin/order/cart-details
- admin.order.cart_shipping → /admin/order/cart-shipping
- admin.order.cart_clear → /admin/order/cart-clear
- admin.order.cart.update → /admin/order/cart/update
- admin.order.pos.apply_coupon → /admin/order/pos/apply-coupon
- admin.order.pos.remove_coupon → /admin/order/pos/remove-coupon
- admin.orders.ajax → /admin/order/{slug}/ajax
- admin.orders → /admin/order/{slug}
- admin.order.edit → /admin/order/edit/{invoice_id}
- admin.order.update → /admin/order/update
- admin.order.quick_view → /admin/order/quick-view/{id}
- admin.order.invoice → /admin/order/invoice/{invoice_id}
- admin.order.process → /admin/order/process/{invoice_id}
- admin.order_change → /admin/order/change
- admin.order.destroy → /admin/order/destroy
- admin.order.assign → /admin/order-assign
- admin.order.status → /admin/order-status
- admin.order.bulk_destroy → /admin/order-bulk-destroy
- admin.order.order_print → /admin/order-print
- admin.bulk_courier → /admin/bulk-courier/{slug}
- admin.stock_report → /admin/stock-report
- admin.order_report → /admin/order-report
- admin.order.pathao → /admin/order-pathao
- admin.delivery.divisions.index → /admin/delivery/divisions
- admin.delivery.divisions.create → /admin/delivery/divisions/create
- admin.delivery.divisions.store → /admin/delivery/divisions/save
- admin.delivery.divisions.edit → /admin/delivery/divisions/{id}/edit
- admin.delivery.divisions.update → /admin/delivery/divisions/update
- admin.delivery.divisions.destroy → /admin/delivery/divisions/destroy
- admin.delivery.districts.index → /admin/delivery/division/{division}/districts
- admin.delivery.districts.create → /admin/delivery/division/{division}/districts/create
- admin.delivery.districts.store → /admin/delivery/district/save
- admin.delivery.districts.edit → /admin/delivery/district/{id}/edit
- admin.delivery.districts.update → /admin/delivery/district/update
- admin.delivery.districts.destroy → /admin/delivery/district/destroy
- admin.delivery.upazilas.index → /admin/delivery/district/{district}/upazilas
- admin.delivery.upazilas.create → /admin/delivery/district/{district}/upazilas/create
- admin.delivery.upazilas.store → /admin/delivery/upazila/save
- admin.delivery.upazilas.edit → /admin/delivery/upazila/{id}/edit
- admin.delivery.upazilas.update → /admin/delivery/upazila/update
- admin.delivery.upazilas.destroy → /admin/delivery/upazila/destroy
- admin.vendors.index → /admin/vendors
- admin.vendors.manage → /admin/vendors/manage
- admin.vendors.edit → /admin/vendors/{id}/edit

### Key config
- app.name: ঘরেবসে.কম বাজার
- app.url: http://commerce22.bmitltd.com
- app.env: production
- app.debug: false
- services.gemini.model: gemini-2.5-flash
- DEMO_MODE env may block admin saves when true";