This module provides the core admin functionality for our Laravel projects. This module automatically takes care of installing and configuring Filament, managing admins and managing admin roles and permissions.
To get started with the admin module, you can install the pacakge via composer:
composer require hex-digital/admin-module
Next, you'll need to publish the config file, migrations and assets for the module and module dependencies. To simplfy this, the module comes with an install command:
php artisan admin-module:install
Every time you upgrade the module or Filament, you need to run the admim:module
and filament:upgrade
commands. We
recommend adding this to your composer.json's post-update-cmd:
"post-update-cmd": [
// ...
"@php artisan filament:upgrade",
"@php artisan admin-module:publish",
],
You should now run your migrations and sync the permissions:
php artisan migrate
php artisan permission:sync
Lastly, you can create a new admin account using:
php artisan make:filament-user
Visit your admin panel at /admin
to sign in, and you're ready to start building.
The admin module ships with an Admin
which is used for authentication. You can override this model by setting the
admin-module.admins.model
config.
Under the hood, we use the Spatie Roles and Permissions package for authorization of admins. The admin module exposes a resource for managing both admins and roles.
You can customise these models / resources by editing the config.
The admin module exposes a permission:sync
commandwhich allows you to sync permissions which can then be assigned to
roles. By default, the module provides permissions for managing admins and roles. However, you can add your own
permissions to the admin-module.permissions
config.
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you discover a security vulnerability, please send an e-mail to [email protected]. All security vulnerabilities will be promptly addressed.
The MIT License (MIT). Please see License File for more information.