alp-develop/laravel-livewire-panel
Laravel admin panel framework powered by Livewire (v3/v4). Supports Bootstrap 4/5 and Tailwind CSS, with an installer for URL prefix, navigation mode, auth/gates, registration, optional CDN libs, and publishable views. Compatible with Laravel 10–13.
Pros:
admin, vendor, superadmin), reducing coupling between different admin surfaces.Cons:
PanelManager, NavigationRegistry) is opinionated. Heavy customization may require overriding core logic.users, password_resets).High:
PanelRenderer, NavigationRegistry) may introduce bugs if not thoroughly tested.SearchRegistry cache growing unbounded).Medium:
Low:
panel:install) simplifies setup, reducing risk of misconfiguration.PanelManager) may be overkill.PanelRenderer).SearchRegistry cache).ThemeInterface, ModuleInterface) for dependency swapping.PanelAuthMiddleware and PanelRateLimitMiddleware for route protection.PanelLoginEvent) for logging/analytics.panel:* commands (e.g., panel:make-module).#[Layout('panel::layouts.app')] for panel-specific templates.data-navigate-once for CDN assets)..panel-sidebar) to avoid conflicts.--panel-primary) for theming.Spatie, Laravel Gate, or custom).Assessment Phase:
Installation:
composer require alp-develop/laravel-livewire-panel.php artisan panel:install with desired options (e.g., --defaults for quick setup).php artisan vendor:publish --tag=panel-config
php artisan vendor:publish --tag=panel-views
Configuration:
config/panel.php (e.g., admin, vendor).app/Http/Kernel.php:
'panel' => \AlpDevelop\LivewirePanel\Http\Middleware\PanelAuthMiddleware::class,
'panel.throttle' => \AlpDevelop\LivewirePanel\Http\Middleware\PanelRateLimitMiddleware::class,
Route Integration:
PanelAuthMiddleware and the panel prefix:
Route::middleware(['web', \App\Http\Middleware\Authenticate::class, 'panel'])
->prefix('admin')
->name('panel.admin.')
->group(function () {
// Panel routes here
});
#[Layout('panel::layouts.app')].Customization:
php artisan panel:make-widget MyWidget
php artisan panel:make-module Users
resources/views/vendor/panel/layouts/app.blade.php).Testing:
How can I help you explore Laravel packages today?