Laravel 13 + Filament 5 + Passport OAuth2

Fondasi Backend yang Siap Produksi

Starter project berbasis Laravel & PostgreSQL — dirancang sebagai fondasi API backend untuk Flutter dan back-office web UI dengan Filament. Bersih, konsisten, dan siap dikembangkan.

Laravel 13 PHP 8.3+ PostgreSQL Filament 5 Passport OAuth2 Spatie RBAC Redis
Fitur Unggulan

Semua yang Anda Butuhkan, Sudah Tersedia

Satu starter project dengan arsitektur yang bersih, fitur enterprise-grade, dan konvensi yang konsisten.

API-First Backend

Token-based authentication via OAuth2 (Laravel Passport) dengan format JSON response yang konsisten — siap dikonsumsi oleh Flutter client.

Filament Admin Panel

Back-office UI lengkap berbasis Filament 5 untuk user management, role & permission, dan CRUD data master — tanpa perlu coding UI sendiri.

RBAC Terpadu (Spatie)

Satu sistem role & permission (spatie/laravel-permission) yang dipakai bersama oleh API guard dan web guard — single source of truth.

API Docs Interaktif

Dokumentasi API auto-generated oleh Scramble dengan OpenAPI spec — tersedia di /docs/api saat environment local.

Firebase Push Notification

Integrasi Firebase Cloud Messaging (FCM) untuk pengiriman push notification asinkron ke Flutter client melalui queue worker.

Wilayah Global

Database 249.036 data administratif global (seluruh negara di dunia) dengan offline seeding via JSON fixtures.

Manajemen Aset & GCS

Unggah file transaksional secara atomik ke Google Cloud Storage dengan enkapsulasi UUID, dedup checksum sha256, ekstraksi metadata gambar/PDF otomatis, dan pembersihan 2-fase harian.

Memulai Cepat

Siap dalam 12 Menit

Clone repository, jalankan empat perintah berikut, dan langsung mulai develop.

Terminal
# Langkah 1 — Install dependensi & build assets (Membuat .env)
$ composer run setup
# Langkah 2 — Konfigurasi kredensial database Anda di file .env
# Langkah 3 — Migrasi database & seed data awal
$ php artisan migrate:fresh --seed
# Langkah 4 — Kunci Passport & Storage Symlink
$ php artisan passport:keys --force
$ php artisan storage:link
# Langkah 5 — Buat Password Client (Salin Secret ke .env!)
$ php artisan passport:client --password
# Langkah 6 — Unduh & jalankan seeder wilayah global offline
$ php artisan regions:download
$ php artisan db:seed --class=RegionSeeder
# Langkah 7 — Jalankan server dev lokal
$ composer run dev

Simpan Client ID & Client Secret dari Passport ke .env

Untuk Docker, gunakan ./vendor/bin/sail — lihat detail di README

Akses Aplikasi

Endpoint yang Tersedia

Setelah server dev berjalan, akses layanan berikut di browser.

Kredensial Default (Seeder)

Email: admin@example.com  ·  Password: password  ·  Role: super-admin