Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Membangun CRUD Article dengan Laravel & Filament Admin Panel

1 min read .
Membangun CRUD Article dengan Laravel & Filament Admin Panel

Laravel adalah salah satu framework PHP paling populer untuk membangun aplikasi modern. Dengan tambahan Filament, kita bisa membuat admin panel dan CRUD dengan cepat tanpa perlu coding panjang.

Di artikel ini kita akan membangun sebuah project Laravel dari nol, lalu membuat CRUD untuk Article menggunakan Filament.

1. Membuat Proyek Laravel Baru

Jalankan perintah berikut:

composer create-project --prefer-dist laravel/laravel website

Catatan penting:

  • website di akhir perintah adalah nama folder project.
  • Jika Anda menggantinya, misalnya blog, maka folder project akan bernama blog.

Setelah selesai, masuk ke folder project:

cd website

2. Mengatur Database

Secara default, Laravel menggunakan SQLite. Tapi kita bisa menggantinya ke MySQL dengan mengedit file .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=website
DB_USERNAME=root
DB_PASSWORD=123

Lalu jalankan migrasi awal:

php artisan migrate

3. Instalasi Filament

Tambahkan package Filament:

composer require filament/filament

Lalu install panel:

php artisan filament:install --panels

Buat user untuk login ke dashboard:

php artisan make:filament-user

Jalankan server lokal:

php artisan serve

Sekarang Anda bisa login ke /admin menggunakan user yang baru dibuat.

4. Membuat CRUD User (Opsional)

Sebagai percobaan, coba generate resource User:

php artisan make:filament-resource User --generate

Filament akan otomatis membuatkan CRUD User lengkap dengan form dan tabel.

5. Membuat Model & Migrasi Article

Buat model dengan migrasi:

php artisan make:model Article -m

Edit file migrasi database/migrations/xxxx_xx_xx_xxxxxx_create_articles_table.php:

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

Jalankan migrasi:

php artisan migrate

6. Unguard Semua Model

Tambahkan Model::unguard() di app/Providers/AppServiceProvider.php agar Filament bisa menyimpan data tanpa kendala mass assignment:

use Illuminate\Database\Eloquent\Model;

public function boot(): void
{
    Model::unguard();
}

7. Membuat CRUD Resource Article

Generate resource untuk Article:

php artisan make:filament-resource Article --generate

Filament akan otomatis membuat form input, tabel, dan halaman CRUD untuk Article.

8. Hasil Akhir

Sekarang Anda sudah punya:
✅ Laravel project bernama website
✅ Admin Panel dengan Filament di /admin
✅ CRUD User (opsional)
✅ CRUD Article dengan field title, content, slug, dan image

Kesimpulan

Dengan Laravel + Filament, membangun admin panel jadi super cepat. Dari setup awal composer create-project --prefer-dist laravel/laravel website, mengatur database, hingga membuat CRUD Article, semua bisa dilakukan hanya dalam beberapa menit.

Filament sangat cocok untuk membangun aplikasi CMS, dashboard internal, e-commerce, maupun SaaS.

Lihat Juga

chevron-up