Search

1. Pendahuluan

Laravel Filament adalah full-stack admin panel framework yang dibangun di atas Laravel, dirancang untuk mempercepat pengembangan aplikasi admin dengan antarmuka yang modern, intuitif, dan mudah dikustomisasi. Filament menyediakan berbagai komponen siap pakai seperti CRUD generators, form builders, tables, widgets, dan dashboard tools yang memungkinkan developer membangun admin panel dengan cepat tanpa harus menulis banyak kode boilerplate.

Filament menggunakan TALL Stack (Tailwind CSS, Alpine.js, Laravel, dan Livewire) yang membuatnya sangat responsif, interaktif, dan mudah diintegrasikan dengan ekosistem Laravel.

2. Fitur Utama Laravel Filament

A. Admin Panel yang Powerful

Filament menyediakan sistem admin panel yang lengkap dengan:

  • Manajemen User & Role (mendukung Spatie Laravel Permission)

  • CRUD Operations dengan sedikit atau tanpa kode

  • Form Builder yang mudah dikustomisasi

  • Table Builder dengan fitur sorting, filtering, dan pagination

  • Dashboard & Widgets untuk visualisasi data

  • Notifications & Actions yang interaktif

B. Integrasi dengan Laravel Ecosystem

  • Eloquent & Relationships – Mendukung relasi database Laravel secara native.

  • Livewire – Membuat komponen dinamis tanpa JavaScript kompleks.

  • Tailwind CSS – Desain yang konsisten dan mudah dimodifikasi.

  • Alpine.js – Interaktivitas frontend yang ringan.

C. Developer Experience yang Baik

  • Artisan Commands untuk generate resources dengan cepat.

  • Custom Components yang bisa diperluas.

  • Dark Mode – Tema gelap yang nyaman untuk mata.

  • Documentation yang Lengkap – Tutorial dan contoh kode yang jelas.


3. Arsitektur & Cara Kerja Filament

A. Berbasis TALL Stack

Filament memanfaatkan:

  • Tailwind CSS – Untuk styling yang konsisten.

  • Alpine.js – Menangani interaksi frontend.

  • Laravel – Backend logic dan database management.

  • Livewire – Membuat komponen dinamis tanpa API calls manual.

B. Struktur Direktori

Setelah menginstal Filament, struktur utamanya meliputi:

app/
└── Filament/
    ├── Resources/       # Tempat mendefinisikan resources (CRUD)
    ├── Pages/           # Halaman custom
    └── Widgets/         # Komponen dashboard

C. Alur Kerja Filament

  1. Membuat Resource (misal: PostResource)

    php artisan make:filament-resource Post

    Ini akan menghasilkan:

    • Model, migration, dan controller (jika belum ada)

    • File resource di app/Filament/Resources/PostResource.php

    • Form dan table components untuk CRUD operations

  2. Mendefinisikan Form & Table

    // PostResource.php
    public static function form(Form $form): Form
    {
        return $form
            ->schema([
                TextInput::make('title')->required(),
                RichEditor::make('content'),
                FileUpload::make('image'),
            ]);
    }
    
    public static function table(Table $table): Table
    {
        return $table
            ->columns([
                TextColumn::make('title'),
                ImageColumn::make('image'),
            ]);
    }
  3. Mengakses Admin Panel

    • Buka /admin (default route)

    • Login dengan user yang memiliki akses admin


4. Kelebihan Filament Dibanding Admin Panel Lain

Fitur Filament Laravel Nova Backpack
Harga Gratis & Open Source Berbayar ($199/tahun) Gratis (tetapi beberapa fitur premium)
Kemudahan Custom Sangat mudah (Livewire + Tailwind) Butuh Vue.js knowledge PHP-based, tapi kurang dinamis
Integrasi Laravel Sangat baik (Livewire & Eloquent) Baik (tetapi proprietary) Baik (CRUD generator)
Developer Experience Sangat cepat & intuitif Baik, tetapi terbatas Cukup baik, tetapi kurang modern

5. Kapan Harus Menggunakan Filament?

✅ Proyek Laravel yang membutuhkan admin panel cepat
✅ Membutuhkan CRUD operations tanpa coding berlebihan
✅ Ingin antarmuka modern dengan Tailwind & Alpine.js
✅ Proyek kecil hingga enterprise dengan kebutuhan kustomisasi tinggi

❌ Tidak cocok jika:

  • Membutuhkan solusi headless (API-only)

  • Ingin admin panel dengan Vue/React custom heavy


6. Contoh Implementasi: Membuat Blog Admin Panel

Langkah 1: Install Filament

composer require filament/filament:"^3.0"
php artisan filament:install --panels

Langkah 2: Buat Resource Post

php artisan make:filament-resource Post

Langkah 3: Konfigurasi Model & Migration

// Migration
Schema::create('posts', function (Blueprint $table) {
    $table->id();
    $table->string('title');
    $table->text('content');
    $table->string('image')->nullable();
    $table->timestamps();
});

Langkah 4: Customize Resource

// PostResource.php
public static function form(Form $form): Form
{
    return $form
        ->schema([
            TextInput::make('title')->required(),
            RichEditor::make('content'),
            FileUpload::make('image')
                ->directory('posts')
                ->image(),
        ]);
}

public static function table(Table $table): Table
{
    return $table
        ->columns([
            TextColumn::make('title')->searchable(),
            ImageColumn::make('image'),
        ])
        ->filters([
            // Tambahkan filter jika perlu
        ]);
}

Langkah 5: Akses Admin Panel

  • Jalankan php artisan migrate

  • Buka /admin, login, dan kelola posts


7. Kesimpulan

Laravel Filament adalah solusi terbaik untuk membangun admin panel dengan cepat tanpa mengorbankan fleksibilitas. Dengan dukungan penuh terhadap TALL Stack, developer bisa membuat dashboard, CRUD operations, dan manajemen data dengan sangat efisien.

🔥 Kenapa Pilih Filament?
✔ Open-source & gratis
✔ Developer-friendly dengan Livewire
✔ Desain modern (Tailwind + Dark Mode)
✔ Dokumentasi lengkap & komunitas aktif

🚀 Coba sekarang!

composer require filament/filament

Referensi: