safarjaisur / adminpanel
A modern, extensible admin panel package for Laravel 12 — Dashboard, BREAD builder, RBAC, Database Manager, Menu Builder, Media Manager, Settings, Backups and more.
Package info
github.com/shreenologyinfotech/sj-adminpanel
Language:CSS
pkg:composer/safarjaisur/adminpanel
Requires
- php: ^8.2
- intervention/image: ^3.5
- laravel/framework: ^12.0
Requires (Dev)
- orchestra/testbench: ^9.0
- phpunit/phpunit: ^11.0
Suggests
- laravel/sanctum: Required only if you want the token-authenticated REST API under /api/sjadmin (routes/api.php). The admin panel UI itself does not need it.
This package is not auto-updated.
Last update: 2026-08-09 03:56:07 UTC
README
A modern, extensible admin panel package for Laravel 12 / PHP 8.2+, built from scratch with SOLID principles, the Repository pattern, and a Service layer — inspired by the feature set of Voyager, but with an entirely original architecture, codebase, and UI (converted from the Axelit Bootstrap 5 admin template).
Features
- Dashboard with pluggable widgets, stats and system status
- Isolated
sjadminauth guard (never collides with your app's own auth) - Role-based access control (Roles, Permissions, Policies, Middleware, Gate integration)
- User management (CRUD, avatar, status, soft deletes, search)
- BREAD builder (Browse / Read / Edit / Add / Delete) generated from any DB table
- Database Manager (list tables, drop tables — migration/model generation hooks included)
- Menu Builder (DB-driven sidebar, nested items, icons, permissions, ordering)
- Media Manager (folders, upload, delete — local or S3 via the configured disk)
- Settings Manager (grouped key/value settings: site, SEO, mail, etc.)
- Backup Manager (create, download and delete SQL database backups)
- Log Viewer (inspect, download and delete Laravel log files)
- Dark mode toggle, RTL-ready layout, fully responsive
- Artisan generators:
make:safarjaisur-module,make:safarjaisur-widget,make:safarjaisur-bread,make:safarjaisur-menu,make:safarjaisur-setting,make:safarjaisur-permission
Installation
composer require safarjaisur/adminpanel php artisan safarjaisuradmin:install
The installer will publish config, assets, views and language files, run migrations, seed a default administrator, roles, permissions, the sidebar menu and default settings, and create the storage symlink.
Default login
| Field | Value |
|---|---|
| URL | /admin (configurable via sjadminpanel.route.prefix) |
admin@example.com |
|
| Password | password |
Change this password immediately in production.
Local development (path repository)
If you're developing this package alongside a Laravel app rather than pulling it from Packagist, add a path
repository to the host application's composer.json:
{
"repositories": [
{ "type": "path", "url": "packages/safarjaisur/adminpanel" }
],
"require": {
"safarjaisur/adminpanel": "@dev"
}
}
Then run:
composer require safarjaisur/adminpanel:@dev php artisan safarjaisuradmin:install
Configuration
Publish and edit config/sjadminpanel.php to change the route prefix, middleware, theme, storage disk,
pagination, and default admin credentials:
php artisan vendor:publish --tag=sjadminpanel-config
Extending
Register additional dashboard widgets, BREAD definitions, or menu items from your own AppServiceProvider:
use Safarjaisur\AdminPanel\Facades\AdminPanel; AdminPanel::registerWidget(\App\AdminWidgets\SalesWidget::class); AdminPanel::registerBread('products', [...]);
Requirements
- PHP ^8.2
- Laravel ^12.0
Credits
UI converted from the Axelit HTML admin template into original Blade components, layouts and partials. No Voyager code, views, controllers, or migrations were copied — only general feature concepts were used as inspiration, re-implemented with a new architecture.
License
MIT