Halo, selamat datang di Ruang Developer Blog. Pada kesempatan kali ini kita akan mencoba sebuah admin panel yang dapat kita install pada aplikasi laravel. Filament admin menyediakan cara yang sangat mudah untuk membangun admin panel disertai dengan fitur yang lengkap untuk mengelola resource mulai operasi CRUD (Create, Read, Update, Delete), hingga fitur pencarian global pada seluruh resource yang kita miliki.
Menyiapkan Project Laravel
Sebelum menggunakan filament admin, tentunya kita harus persiapkan terlebih dahulu project laravel kita.
Membuat project:
composer create-project laravel/laravel coba-filament
Konfigurasi database (.env file):
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=coba_filament
DB_USERNAME=root
DB_PASSWORD=root
(Note: sesuaikan nama, username, dan password database kamu)
Migrasi database:
php artisan migrate
Install Filament
Sesuai dengan dokumentasinya, untuk menggunakan filament admin, project kamu harus memenuhi beberapa requirement berikut:
- PHP 8.0+
- Laravel v8.0+
- Livewire v2.0+
Install filament:
composer require filament/filament:"^2.0"
Membuat filament user:
php artisan make:filament-user
Setelah menjalankan perintah tersebut kamu akan diminta untuk memasukkan nama, email, dan password untuk akun yang dibuat.
Name:
> Ruang Developer
Email address:
> [email protected]
Password:
>
Success! [email protected] may now log in at http://localhost/admin/login.
Jalankan Aplikasi
Setelah membuat project dan menginstall filament, kita coba jalankan aplikasi kita.
php artisan serve
Setelah aplikasi berjalan, kamu bisa login ke admin panel melalui link berikut:
http://127.0.0.1:8000/admin/login
Berikut ini adalah halaman login dari filament
Kamu bisa coba login menggunakan akun yang telah kamu buat sebelumnya.
Mengelola Resource
Sebelumnya, aplikasi kita sudah berhasil dijalankan dan kita sudah bisa login menggunakan akun yang dibuat melalui CLI. Sekarang kita akan menambahkan fungsionalitas pada aplikasi kita agar dapat mengelola data user melalui admin panel filament.
Menginstall package docktrine/dbal
untuk membuat form dan tabel secara otomatis
composer require doctrine/dbal
Membuat resource untuk model User
php artisan make:filament-resource User --generate
Jalankan kembali aplikasi kita
php artisan serve
Tara… kita bisa melakukan operasi CRUD melalui admin panel filament.
Melihat data user
Menambah user baru
Mengedit data user
Menghapus data user
Jadi…
Oke jadi begitulah percobaan kita menggunakan filament admin. Sangat simple sekali ya untuk membuat fungsionalitas CRUD menggunakan filament admin. Kamu bahkan menyadari bahwa kita sama sekali tidak menuliskan kode PHP sama sekali. Wow.. sangat luar biasa. Namun, jika ingin menyesuaikan admin panel agar sesuai kebutuhan kita tentu ada beberapa kode yang harus ditulis lagi.
Kapan menggunakan filament?
Dengan kecepatan dan fitur yang ditawarkan, tentunya filament admin ini sangat cocok digunakan ketika kamu ingin membuat aplikasi dengan cepat dalam waktu yang terbatas dan tidak memerlukan kustomisasi yang begitu rumit.
Kapan tidak menggunakan filament?
Jika aplikasi yang kamu buat memerlukan kustomisasi yang sangat rumit tentunya menggunakan filament akan sedikit membatasi kamu. Oleh karena itu filament mungkin sedikit tidak disarankan dalam kasus ini. Selain itu, menggunakan filament juga tidak disarankan jika kamu baru belajar membuat aplikasi menggunakan laravel. Fitur filament yang sangat out of the box membuat kamu tidak belajar dasar-dasar pembuatan aplikasi menggunakan laravel.