Service Provider Boot Order
Provider registration sequence in bootstrap/providers.php and why order matters
Last updated: Feb 09, 2026
Service Provider Boot Order
Providers are registered in bootstrap/providers.php in a deliberate sequence:
| # | Provider | Purpose |
|---|---|---|
| 1 | App\Providers\AppServiceProvider | Laravel defaults |
| 2 | App\Providers\FortifyServiceProvider | Fortify auth (2FA, registration, password reset) |
| 3 | App\Providers\ThemeServiceProvider | Theme view paths + Inertia share |
| 4 | Cartxis\Core\CoreServiceProvider | Core singletons (hook, menu, setting, extension, theme, payment gateway) |
| 5 | Cartxis\Core\MailConfigServiceProvider | Dynamic mail config from DB |
| 6 | Cartxis\Admin\AdminServiceProvider | Admin auth, middleware, routes |
| 7 | Cartxis\Product\ProductServiceProvider | Products, categories, attributes, brands, reviews |
| 8 | Cartxis\Cart\CartServiceProvider | Cart logic, tax/shipping calculators |
| 9 | Cartxis\Shop\ShopServiceProvider | Storefront — repositories, services, frontend middleware |
| 10 | Cartxis\Settings\SettingsServiceProvider | Admin settings pages |
| 11 | Cartxis\Stripe\StripeServiceProvider | Stripe payment gateway (extension) |
| 12 | Cartxis\Razorpay\RazorpayServiceProvider | Razorpay gateway (extension) |
| 13 | Cartxis\PhonePe\PhonePeServiceProvider | PhonePe gateway (extension) |
| 14 | Cartxis\Sales\SalesServiceProvider | Orders, invoices, shipments, credit memos, transactions |
| 15 | Cartxis\Customer\CustomerServiceProvider | Customer management, groups, addresses, wishlists |
| 16 | Cartxis\Setup\SetupServiceProvider | Must be before CMS — prevents catch-all route conflict |
| 17 | Cartxis\CMS\CMSServiceProvider | Pages, blocks, media library, storefront menus |
| 18 | Cartxis\System\SystemServiceProvider | Cache, extensions UI, permissions, maintenance, backups |
| 19 | Cartxis\Reports\ReportsServiceProvider | Sales/product/customer reports |
| 20 | Cartxis\Marketing\MarketingServiceProvider | Coupons, promotions |
| 21 | Cartxis\API\APIServiceProvider | REST API v1 |
Important: Setup must load before CMS. CMS registers a catch-all /{slug} route for dynamic pages — if loaded first, it would intercept the setup wizard routes.