Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Savadmin Laravel Package

savannabits/savadmin

SavAdmin is a Laravel admin panel scaffolding package that speeds up building backend interfaces with generated CRUD screens, authentication, and role-based access, so you can manage your application's data quickly without hand-writing repetitive admin code.

View on GitHub
Deep Wiki
Context7

Getting Started

SavAdmin (savannabits/savadmin) is a Laravel admin-panel/resource generator. v1.6.2 is a compatibility patch — the only change is the Eloquent cache layer being updated for Laravel 9 support — so it is the minimum version to install if you are on a Laravel 9 app.

Minimal setup:

composer require savannabits/savadmin
php artisan savadmin:install   # publishes config, migrations, and front-end assets
php artisan migrate

Then inspect config/savadmin.php first — it controls the route prefix, middleware/guard used for the admin panel, and the default layout. Register your first module by generating a CRUD resource (e.g. php artisan savadmin:make:module Post or the equivalent command exposed by your installed version — check php artisan list | grep savadmin), point it at an Eloquent model, and visit the configured admin path (/admin by default).

First use case: scaffold CRUD for a single model, verify the generated routes/policies resolve under your admin guard, then iterate on field definitions and views. Do this on a scratch app before wiring SavAdmin into a production admin area.

Implementation Patterns

  • Config-first customization. Changes to route prefix, auth guard, middleware stack, and branding belong in config/savadmin.php (and its published views), not in edited vendor files. Re-publish views to resources/views/vendor/savadmin before overriding.
  • Generated modules as ordinary Laravel controllers. Once a module is generated, treat it like any other controller/resource: add authorization via policies or middleware rather than relying on package defaults. Wrap admin routes in your own auth/can: middleware in the config.
  • Field definitions drive the UI. Define columns, form fields, and validation on the model/module definition so the package renders index, create, and edit screens consistently. Validation declared there keeps the generated forms and server-side rules in sync.
  • Cache-aware listings. The v1.6.2 change touches the Eloquent cache used by admin listings. If you rely on the cache layer, configure a real cache store (redis/memcached) in production and expose a cache-bust action in your admin UI so editors can invalidate stale rows after updates.
  • Integrate with existing auth. Point the admin guard at the same users provider or a dedicated admins provider; keep permission checks (roles/abilities) in middleware so the generated CRUD inherits them automatically.
  • Asset pipeline. Use php artisan vendor:publish --tag=savadmin-assets (or the documented tag) and build/minify through your own pipeline rather than referencing vendor assets directly from public/.

Gotchas and Tips

  • Laravel 9 requires v1.6.2+. Earlier versions ship an Eloquent cache implementation that is not L9-compatible; pin "savannabits/savadmin": "^1.6.2" and run composer update before debugging cache-related errors on L9.
  • Cache staleness is the most likely day-to-day surprise. Cached admin listings can show deleted or edited rows until invalidated. During development, set the cache store to array or disable the admin cache in config; in production, use Redis and wire a clear-cache button into the admin header.
  • Publishing vs. referencing. Editing files under vendor/ will be lost on composer update. Publish config and views immediately after install, and track those published files in git.
  • Migrations and route conflicts. If your app already defines /admin routes or similarly named tables, adjust the route prefix and table names in config before running migrations.
  • Guard/middleware mismatches are the usual cause of redirect loops or 403s after install — verify the guard name in config/savadmin.php matches config/auth.php and that your middleware group is applied to the admin routes.
  • Debugging generated modules: start with php artisan route:list --path=admin to confirm routes registered, then check the published views for the failing screen. Extension points are the published views, the module/resource class, and the config file — prefer those over overriding package internals.
  • Upgrade hygiene: this is a patch release with no breaking changes noted, but always re-run php artisan vendor:publish --force selectively (config and assets), not blindly, so your customizations survive.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels