sleeping-owl/admin
SleepingOwl Admin is a Laravel admin panel package for quickly building CRUD interfaces from Eloquent models. It offers configurable forms, grids, filters, authentication, and widgets, helping teams create back-office tools without repetitive boilerplate.
SleepingOwl Admin is a Laravel 4-era, config-driven CRUD interface builder. First-day setup is deliberately minimal, but you must anchor yourself in two files before touching anything else.
composer require sleeping-owl/admin:dev-master
app/config/app.php → providers: 'SleepingOwl\Admin\AdminServiceProvider'.php artisan config:publish sleeping-owl/admin
php artisan asset:publish sleeping-owl/admin
app/config/packages/sleeping-owl/admin/config.php. This is the single most important file: it controls the admin title, menu, authentication gate, and the list of registered models. Read it top to bottom before writing any code.App\Models\Post) and add the model's admin configuration (columns, form fields, validation rules). Start with an auto-generated form to see what the package infers from your schema, then refine./admin — routes and menu entries are registered automatically from the config.First use case: point it at one simple model (a Post or Category with a handful of scalar columns), let it auto-build the form, and confirm list/create/edit/delete work end-to-end. That single loop validates install, auth, routing, and asset publishing all at once.
belongsTo/hasMany relations for select dropdowns and related columns. Always eager-load (with) the relationships referenced in list columns to avoid N+1 storms on index pages.--no-plugins or manual installs.asset:publish after any package update and verify the public path.created_at, updated_at, soft-delete columns, and foreign keys can appear as editable fields the first time. Explicitly exclude them.$fillable (or blocked by $guarded) won't save even though the form accepts them. Check the model before debugging the package.composer.json; a "latest" pull can change behavior without warning./admin routes. Namespace or prefix them if your app already owns those URLs.How can I help you explore Laravel packages today?