arpro/rabc-generator

Package Laravel untuk Template, Generator CRUD, dan RACB (Role, Access Control Base) - Login, Permission, Role, User, dan Menu

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/arpro/rabc-generator

1.0.0 2025-12-06 13:53 UTC

This package is auto-updated.

Last update: 2025-12-06 14:16:21 UTC


README

Package Laravel untuk Template, Generator CRUD, dan RACB (Role, Access Control Base) - Login, Permission, Role, User, dan Menu.

Fitur

  • Template Admin Dashboard - Template admin yang siap pakai dengan layout modern
  • Generator CRUD - Generator otomatis untuk membuat CRUD dari tabel database
  • RACB (Role, Access Control Base) - Sistem manajemen akses berbasis role dan permission
    • Login & Authentication
    • User Management
    • Role Management
    • Permission Management
    • Menu Management dengan permission
    • Role Access Management

Instalasi

1. Install Package

Tambahkan package ke composer.json:

{
    "repositories": [
        {
            "type": "path",
            "url": "./packages/arpro/rabc-generator"
        }
    ],
    "require": {
        "arpro/rabc-generator": "*"
    }
}

Kemudian jalankan:

composer require arpro/rabc-generator

2. Publish Assets

Publish config, migrations, dan views:

php artisan vendor:publish --tag=rabc-generator-config
php artisan vendor:publish --tag=rabc-generator-migrations
php artisan vendor:publish --tag=rabc-generator-views

3. Jalankan Migrations

php artisan migrate

4. Konfigurasi

Edit file config/rabc-generator.php atau tambahkan ke .env:

RACB_ROUTE_PREFIX=racb
RACB_BUILDER_PREFIX=builder
RACB_MENU_CACHE_TIME=60
RACB_ADMINISTRATOR_ROLE=administrator
RACB_ADMIN_ROLE=admin
RACB_USER_MODEL=App\Models\User

Penggunaan

Routes

Package ini akan mendaftarkan routes berikut:

RACB Routes (prefix: /racb atau sesuai config)

  • GET /racb/users - List users
  • GET /racb/menus - List menus
  • GET /racb/roles - List roles
  • GET /racb/permissions - List permissions
  • GET /racb/akses-roles - Manage role permissions

Auth Routes

  • GET /login - Login page
  • POST /login - Login action
  • POST /logout - Logout action

Builder Routes (prefix: /builder atau sesuai config)

  • GET /builder - Generator form
  • POST /builder/create - Generate CRUD

Views

Package menyediakan views yang dapat di-override:

  • rabc-generator::layouts.app - Main layout
  • rabc-generator::auth.login - Login page
  • rabc-generator::users.* - User management views
  • rabc-generator::roles.* - Role management views
  • rabc-generator::permissions.* - Permission management views
  • rabc-generator::menus.* - Menu management views
  • rabc-generator::builder.* - Builder views

Helper Functions

Package menyediakan helper functions untuk form:

{!! form_input('name', $value, ['class' => 'form-control']) !!}
{!! form_textarea('description', $value) !!}
{!! form_select('role', $options, $selected) !!}
{!! form_button('Submit', ['type' => 'submit']) !!}
{!! form_open(route('users.store'), 'POST') !!}
{!! form_close() !!}

Menu dengan Permission

Menu otomatis akan difilter berdasarkan permission user. Administrator memiliki akses penuh.

// Di view composer, menu sudah otomatis difilter
@include('rabc-generator::app.menu')

Cache Helper

use Bulder\RacbGenerator\Helpers\CacheHelper;

// Clear menu cache untuk user tertentu
CacheHelper::clearMenuCache($userId);

// Clear semua menu cache
CacheHelper::clearAllMenuCache();

// Clear menu cache setelah update
CacheHelper::clearMenuCacheAfterUpdate();

Struktur Package

packages/arpro/rabc-generator/
├── config/
│   └── rabc-generator.php
├── database/
│   └── migrations/
├── resources/
│   └── views/
│       ├── auth/
│       ├── users/
│       ├── roles/
│       ├── permissions/
│       ├── menus/
│       ├── builder/
│       └── layouts/
├── routes/
│   ├── web.php
│   ├── auth.php
│   └── builder.php
├── src/
│   ├── Http/
│   │   └── Controllers/
│   ├── Models/
│   ├── Helpers/
│   └── Providers/
├── composer.json
└── README.md

Requirements

  • PHP >= 8.2
  • Laravel >= 12.0
  • spatie/laravel-permission >= 6.16
  • yajra/laravel-datatables >= 12.0
  • realrashid/sweet-alert >= 7.3

License

MIT

Support

Untuk pertanyaan dan dukungan, silakan buat issue di repository ini.