UrbanPost adalah portal berita sederhana berbasis Laravel 12 yang memanfaatkan Filament 4 sebagai panel admin. Aplikasi ini menyiapkan front site publik untuk membaca artikel serta panel editorial dengan peran admin/penulis, lengkap dengan pengelolaan kategori, tag, halaman statis, dan arsip media.
- Panel Filament di
/jayadengan autentikasi dan tema warna amber. - Manajemen konten: artikel dengan status (draft/review/published/rejected/archived), kategori, tag, dan halaman statis.
- Role-based access: admin mengelola semua data, penulis hanya melihat & mengedit artikelnya sendiri.
- Halaman publik: daftar artikel terbaru, filter kategori, detail artikel dengan tag, related posts, serta halaman statis (about/contact/disclaimer/privacy-policy).
- Media privat disajikan via route
media.show, sehingga file distorage/app/private/coversbisa diakses aman tanpa symlink publik.
- PHP 8.2+, Laravel 12, Filament 4
- Vite + Tailwind CSS (CDN fallback di front end)
- Database bawaan SQLite (mudah diganti ke MySQL/PostgreSQL via
.env)
- PHP 8.2+, Composer 2
- Node.js 20+ dan npm
- SQLite (default) atau database lain sesuai kebutuhan
composer install
cp .env.example .env
php artisan key:generate
# Sesuaikan APP_URL dan koneksi DB di .env (default SQLite)
php artisan migrate --seed
npm install
npm run build # atau `npm run dev` saat pengembangan
php artisan serve # akses front-end di http://localhost:8000- Skrip satu baris:
composer run setupakan menjalankan instalasi, generate key, migrasi, dan build aset. - Mode pengembangan all-in-one:
composer run dev(menjalankan serve, queue listener, pail log viewer, dan Vite HMR bersamaan).
- Admin:
admin@gmail.com/1212 - Penulis:
penulis@gmail.com/1212 - User dummy:
test@example.com/password
app/Filament/Resources— Resource admin untuk Posts, Categories, Tags, StaticPages, Users.app/Providers/Filament/JayaPanelProvider.php— Konfigurasi panel (path/jaya, widget akun, tema).app/Http/Controllers— Controller front site untuk posts, pages, dan media.resources/views/posts— Tampilan publik (beranda & detail artikel).database/seeders/InitialSeeder.php— Data awal kategori, tag, halaman statis, dan kredensial.
composer run test # membersihkan cache config lalu menjalankan phpunit- Jalankan
npm run buildsebelum deploy. - Pastikan direktori
storagedanbootstrap/cachewritable oleh web server. - Worker queue database:
php artisan queue:work(opsional jika fitur queue dipakai).
Lisensi: MIT.