nasirkhan/laravel-admin
Laravel Admin by Nasir Khan provides a ready-made backend dashboard for Laravel apps, with authentication, CRUD scaffolding, role and permission handling, and configurable modules to help you build admin interfaces faster.
composer require nasirkhan/laravel-admin. Laravel package discovery registers the service provider; if you've disabled discovery, add the provider manually to config/app.php (or bootstrap/providers.php on Laravel 11).spatie/laravel-permission, so seed the role and permission tables as part of setup.config/laravel-admin.php — routing, middleware, branding, dashboard and menu settings.resources/views/vendor/laravel-admin/ — the publishable Blade layer (layout, partials, dashboard).resources/views/vendor/laravel-admin/... and only override the files you actually need. Everything else stays upgradeable. This is the pattern the v2.3.0 docs formalized for the dashboard.php artisan route:list rather than assuming.^2.3, run composer update nasirkhan/laravel-admin, then smoke-test admin login, dashboard, and one CRUD module. Diff your overridden views against the new package defaults on each bump. v2.3.0 is documentation-only, so upgrading from 2.2.x is a lockfile bump with no migration or config changes expected.vendor/. Publish and override in the host app. Fork only as a last resort — it's the most expensive long-term maintenance outcome for an admin panel.php artisan view:clearphp artisan config:clearphp artisan route:clear
If your dashboard override doesn't appear, stale compiled views are the first suspect, followed by a path/namespace mismatch in the view override.php artisan route:list.php artisan view:cache in staging. It catches Blade syntax and missing @include errors that won't surface until production otherwise.vendor:publish can overwrite local customizations. Commit your overrides to VCS first so a careless re-publish is recoverable.spatie/laravel-permission constraint. Upgrading the host app's Laravel major version is the most likely trigger for a break — pin and test in a branch first.php artisan route:list for route precedence, php artisan about for environment/version sanity, and storage/logs/laravel.log for what the package is actually doing. If the default dashboard renders instead of your view, re-check the view name before changing code.How can I help you explore Laravel packages today?