zivar/laravel-starter)Zivar Laravel Starter Kit is an enterprise-ready starter package for modern Laravel applications (Laravel 11, 12, & 13) powered by Livewire 3 SPA (wire:navigate), Tailwind CSS, and Zivar UI Kit.
Designed out of the box with multi-language localization (EN/ID), granular Role-Based Access Control (RBAC), immutable audit logging with visual diff viewer, polymorphic media management with chunked uploads, and real-time system telemetry.
| Modul | Deskripsi & Fitur Unggulan |
|---|---|
| ๐ Multi-Language (EN / ID) | Dukungan multibahasa lengkap (English default & Bahasa Indonesia) dengan switcher instan di navbar dan halaman login via <x-layout.language-toggle />. |
| โก Livewire 3 SPA Navigation | Transisi halaman mulus tanpa full-page reload menggunakan wire:navigate terintegrasi pada autentikasi, sidebar, dan seluruh modul. |
| ๐ค User Management & Trash | CRUD pengguna lengkap, upload avatar dengan thumbnail preview, password generator otomatis, penetapan role multi-select, serta manajemen Soft Delete & Trash Bin (Restore / Permanent Delete). |
| ๐ก๏ธ Granular RBAC Matrix | Matriks izin modul granular (Create, Read, Update, Delete) per role. Dilengkapi proteksi role sistem bawaan (superadmin, admin, user) dan in-memory permission cache. |
| ๐ Immutable Audit Log Trail | Perekaman otomatis mutasi data (created, updated, deleted) via trait Auditable. Dilengkapi modal Visual Diff Viewer 3-kolom (Before vs After) dan penampil Raw JSON Snapshot. |
| ๐ Polymorphic Media Center | Manajemen berkas multimedia polimorfik via trait HasMedia, integrasi Fancyapps Fancybox v5 Lightbox, streaming berkas privat terproteksi, filter relasi (Active/Standalone/Orphaned), serta Chunked Upload untuk berkas besar (25MB+). |
| ๐ System Telemetry & Metrics | Dashboard telemetri kesehatan server real-time (/admin/metrics): penggunaan RAM & Peak RAM, latensi PDO database, kapasitas disk OS, rincian record per tabel master, dan konfigurasi runtime PHP. |
| ๐ Dark & Light Mode Theme | Theme toggle instan (Light, Dark, System preference) bebas kedipan (FOUC-free) tersimpan di localStorage. |
>= 8.3^11.0 | ^12.0 | ^13.0^3.5 | ^4.0pdo, mbstring, openssl, fileinfo, curlJalankan perintah berikut pada root project Laravel Anda:
composer require zivar/laravel-starter
Eksekusi artisan command bawaan Zivar untuk mempublikasikan konfigurasi, asset UI, migrasi database, dan seeder master data:
php artisan zivar:install
Perintah
php artisan zivar:installotomatis menjalankan:
php artisan vendor:publish --tag=zivar-config --force(Konfigurasiconfig/zivar.php)php artisan vendor:publish --tag=zivar-assets --force(Aset UI kepublic/assets)php artisan vendor:publish --tag=zivar-views --force(Blade views keresources/views)php artisan vendor:publish --tag=zivar-user-model --force(Model User dengan integrasi RBAC & HasMedia)php artisan storage:link(Symlink storage publik)php artisan migrate(Menjalankan seluruh tabel database)php artisan db:seed --class=Database\Seeders\ZivarDatabaseSeeder(Inisialisasi akun & peranan default)
Setelah instalasi selesai, buka browser ke /login:
| Peranan (Role) | Username / Email | Password | Hak Akses |
|---|---|---|---|
| Superadmin | superadmin / [email protected] |
password |
Akses penuh seluruh modul sistem (Bypass RBAC) |
| Administrator | admin / [email protected] |
password |
Akses manajemen Pengguna & Peranan (CRU) |
| User Operator | user / [email protected] |
password |
Akses baca modul Pengguna (Read-only) |
| URL | Nama Rute | Deskripsi |
|---|---|---|
/login |
login |
Halaman autentikasi login (dengan SPA wire:navigate) |
/language/{locale} |
language.switch |
Switcher bahasa instan (en, id) |
/admin |
dashboard |
Dashboard utama panel admin workspace |
/admin/profile |
profile |
Profil akun pengguna & ubah password |
/admin/users |
users.index |
Manajemen pengguna, foto avatar, role assign & trash |
/admin/roles |
roles.index |
Matriks peranan RBAC & izin CRUD modul |
/admin/audit-logs |
audit-logs.index |
Jejak audit log & visual diff viewer |
/admin/media |
media.index |
Media center, chunk upload & lightbox gallery |
/admin/metrics |
metrics.index |
Telemetri kesehatan server & utilisasi memori |
/media/stream/{id} |
media.stream |
Streaming media terproteksi (privat/publik) |
Gunakan helper method hasPermission() pada model User:
// Mengecek apakah user memiliki izin create pada modul user
if (auth()->user()->hasPermission('user', 'create')) {
// Jalankan aksi pembuatan user
}
// Mengecek izin delete pada modul role
if (auth()->user()->hasPermission('role', 'delete')) {
// Jalankan aksi hapus role
}
Auditable Trait)Pasang trait Auditable pada Model Eloquent untuk mencatat seluruh perubahan data secara otomatis:
namespace App\Models;
use App\Traits\Auditable;
use Illuminate\Database\Eloquent\Model;
class Article extends Model
{
use Auditable;
protected $fillable = ['title', 'slug', 'content', 'status'];
}
HasMedia Trait)Pasang trait HasMedia pada Model untuk mengaktifkan lampiran berkas multimedia:
namespace App\Models;
use App\Traits\HasMedia;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use HasMedia;
}
// Melampirkan file yang diunggah ke user (collection: 'avatar', disk: 'public')
$user->attachMedia($uploadedFile, 'avatar', 'public', true);
// Mengambil URL berkas media aktif
$avatarUrl = $user->getMediaUrl('avatar');
Jalankan pengujian unit dan integrasi otomatis dengan PHPUnit:
php artisan test
Semua 28 skenario pengujian (RBAC, Audit Log, Media Center, Soft Delete, System Telemetry, dan Language Switcher) terverifikasi 100% lulus.
config/zivar.php)return [
'name' => 'Zivar System Starter Kit',
/* Durasi cache hak akses RBAC (Detik) */
'permissions_cache_ttl' => 3600,
/* Durasi cache telemetri sistem (Detik) */
'telemetry_cache_ttl' => 30,
/* Model yang diizinkan untuk upload berkas */
'allowed_upload_models' => [
App\Models\User::class,
App\Models\Media::class,
],
];
Diterbitkan di bawah lisensi MIT License. Bebas digunakan untuk proyek komersial maupun personal.
How can I help you explore Laravel packages today?