zivar/laravel-starter
| Install | |
|---|---|
composer require zivar/laravel-starter |
|
| Latest Version: | v1.0.3 |
| PHP: | ^8.3 |
| License: | MIT |
| Last Updated: | Aug 22, 2026 |
| Links: | GitHub · Packagist |
🚀 Zivar Laravel Starter Kit (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.
✨ Fitur Utama (Core Features)
| 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. |
📋 Persyaratan Sistem (Requirements)
- PHP:
>= 8.3 - Laravel Framework:
^11.0|^12.0|^13.0 - Livewire:
^3.5|^4.0 - Database: MySQL 8.0+ / PostgreSQL 14+ / SQLite 3
- PHP Extensions:
pdo,mbstring,openssl,fileinfo,curl
⚡ Panduan Instalasi (Installation)
1. Pasang Package via Composer
Jalankan perintah berikut pada root project Laravel Anda:
composer require zivar/laravel-starter
2. Jalankan Installer Otomatis Zivar
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)
🔑 Akun & Kredensial Default (Default Logins)
Setelah instalasi selesai, buka browser ke /login:
| Peranan (Role) | Username / Email | Password | Hak Akses |
|---|---|---|---|
| Superadmin | superadmin / superadmin@zivar.id |
password |
Akses penuh seluruh modul sistem (Bypass RBAC) |
| Administrator | admin / admin@zivar.id |
password |
Akses manajemen Pengguna & Peranan (CRU) |
| User Operator | user / user@zivar.id |
password |
Akses baca modul Pengguna (Read-only) |
🧭 Daftar Rute Bawaan (Built-in Routes)
| 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) |
💡 Panduan Penggunaan & Integrasi Kode
1. Pengecekan Hak Akses RBAC pada Controller / Livewire
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
}
2. Perekaman Audit Logging Otomatis (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'];
}
3. Pengelolaan Berkas Media Polimorfik (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');
🧪 Testing Suite
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.
⚙️ Konfigurasi Kustom (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,
],
];
📬 Kontak & Pengembang (Author)
- Author: Ravi Zulfikar
- GitHub: github.com/ravizulfikar/zivar-laravel-basic
- Packagist: packagist.org/packages/zivar/laravel-starter
- LinkedIn: linkedin.com/in/ravizulfikar
- WhatsApp: +62 838-9899-9501
📜 Lisensi (License)
Diterbitkan di bawah lisensi MIT License. Bebas digunakan untuk proyek komersial maupun personal.
Related Packages
Production-ready Laravel starter kit with a full admin panel, role-based access...
FilaKit starter kit built on Laravel 13.x and Filament 5.x with a ready-to-use m...
A modern Laravel starter kit featuring Livewire Volt, Mary UI, and Tailwind CSS...
TeamKit starter kit built on Laravel 13.x and Filament 5.x with a ready-to-use m...