jjanampa/laravel-admin

Laravel admin dashboard

v1.3.0 2021-07-15 05:13 UTC

This package is auto-updated.

Last update: 2024-11-15 12:29:52 UTC


README

Laravel Admin is a drop-in admin panel package for Laravel which promotes rapid scaffolding & development, uses Material Dashboard

Requirements

Laravel >=7
PHP >= 7.0

Features:

  1. Admin User, Role & Permission Manager:
  2. Activity Log:
  3. Page CRUD:
  4. Settings:
  5. Login, Forgot Password
  6. Profile

Packages used:

Assets used:

Installation

After initializing instance of Laravel

  1. Autoloading: By default, module classes are not loaded automatically. You can autoload your modules using psr-4, add "Modules\\": "Modules/" in composer.json.

    {
      "autoload": {
        "psr-4": {
          "App\\": "app/",
          "Modules\\": "Modules/",
        }
      }
    }

    Tip: don't forget to run composer dump-autoload afterwards.

  2. Run

    composer require jjanampa/laravel-admin
    
  3. Install the admin package.

    php artisan laravel-admin:install
    

    Service provider will be discovered automatically.

    execute php artisan laravel-admin:install --force to force the installation, this process recreate the Admin module, removes and recreates the following tables: admin_users, admin_roles, admin_permissions, admin_permission_role, admin_role_user, pages, settings

Logging In

Visit (APP_URL)/admin to access the admin panel.

The default admin login is:

Email Address: admin@admin.com
Password: secret

Usage

  1. Create some permissions.

  2. Create some roles.

  3. Assign permission(s) to role.

  4. Create user(s) with role.

  5. For checking authenticated user's role see below:

    // Check role anywhere
    if (auth('admin')->user()->hasRole('editor')) {
        // Do admin stuff here
    } else {
        // Do nothing
    }
    
    // Check role in route middleware
    Route::resource('pages', 'Dashboard\PagesController')->middleware('role:editor');
  6. For checking permissions see below:

    if (auth('admin')->user()->can('permission-name')) {
        // Do something
    }

Learn more about ACL from here

For activity log please read spatie/laravel-activitylog docs

Screenshots