An easy to implement, lightweight yet complete Laravel 5.5+ admin panel/backend and media/filemanager. Basically it's a web-based content editor for your Laravel models. It's very easy to integrate into your existing Laravel application.
nickdekruijk/admin is the next evolution of nickdekruijk/larapages which won't be updated anymore but will remain online for historical reference.
To install the package use
composer require nickdekruijk/admin
After installing for the first time publish the config file with
php artisan vendor:publish --tag=config --provider="NickDeKruijk\Admin\ServiceProvider"
A default config file called admin.php
will be available in your Laravel app/config
folder. See this file for more details. Some important configuration options are highlighted below.
By default you access admin panel by adding /admin to the URL of your website/application. For example https://www.domain.com/admin
You can change this path by changing the adminpath
configuration option.
Admin uses the auth middleware from Laravel. To determine if a user has permission you need to add a admin_role
column to your User model and table. You can change the column name with the role_column
configuration option.
A migration is included with the package so you can run php artisan migrate
to add the column. If you don't want to use the included migration you can disable it by changing the configuration option role_column_migration
to false.
The most important configuration option is the modules
array. The default will get you started but you most likely need to change a lot depending on your application. Each module is identified by a unique slug and it has a fontawesome.io icon and opens a view. It also has a title (defaults to the slug) that you can localise (e.g. title_nl). All other options are view/module specific and will be documented in the future. The slugs are also used to define the permissions in the roles
array so if you add or remove modules you probably need to change the roles too.
By default Admin will register login and logout routes and use a simple login screen without registration, 'Remember me' or password resets.
If your application already uses authentication your routes/web.php file will probably overwrite these routes but you probably want to disable the Admin routes by changing configuration option auth_routes
to false.
If your application has no users Admin provides an artisan console command to create or update a user with a random password and assign a role.
php artisan admin:user <email> [<role>]
Role must match one of the roles defined in the configuration. The default role for a new user is "admin".
You could use the package arcanedev/laravel-lang, just run composer require arcanedev/laravel-lang
.
Admin is open-sourced software licensed under the MIT license.