Custom admin dashboard untuk project Wigra Production House. Project ini memakai Laravel 12 sebagai backend dan React SPA sebagai admin UI di path /admin.
Fase awal project ini mencakup:
- custom admin dashboard berbasis React
- autentikasi admin
- manajemen konten utama company profile
- endpoint API publik read-only untuk frontend
Target entitas konten fase 1:
filmseventscompany_infosgalleries
- PHP
^8.2 - Laravel
^12.0 - React
- Vite
- Tailwind CSS
- Laravel Tinker
- SQLite untuk setup lokal saat ini
- MySQL direncanakan untuk environment utama/shared
Yang sudah siap saat ini:
- project Laravel berhasil di-bootstrap
- route admin tersedia di
/admin - React SPA admin sudah terhubung lewat Vite
- layout dashboard awal sudah ada
- styling awal mengikuti identitas visual Wigra:
- font
Cormorant Garamond - font
Inter - warna aksen
#c9544d
- font
Yang belum dikerjakan penuh:
- autentikasi backend untuk admin
- resource CRUD untuk films, events, company info, gallery
- role
superadmindaneditor - policy/authorization detail per role
- API publik read-only
- seeder data bisnis fase 1
Beberapa file penting:
-
routes/web.phpRoute Laravel untuk halaman utama dan fallback/admin/*ke React SPA. -
resources/views/welcome.blade.phpBlade shell yang memuat asset Vite dan root React. -
resources/js/app.jsxEntry point React dan routing admin. -
resources/js/components/Komponen layout admin. -
resources/js/pages/Halaman admin. -
resources/css/app.cssCSS utama project dan token visual Wigra. -
app/Models/User.phpModel user Laravel untuk auth backend. -
database/migrations/Migration Laravel default. Migration konten bisnis fase 1 akan ditambahkan di sini. -
database/seeders/DatabaseSeeder.phpTitik masuk utama untuk seeding.
Pastikan environment lokal memiliki:
- PHP
8.2+ - Composer
2+ - Node.js
20+ - NPM
Catatan: toolchain frontend saat ini dipin agar cocok dengan Node 20.14+.
Jika project baru saja di-clone:
composer install
npm install
copy .env.example .env
php artisan key:generateJika file .env sudah ada, pastikan konfigurasi lokal mengikuti bagian environment di bawah.
Setup lokal default bisa memakai SQLite:
DB_CONNECTION=sqlite
SESSION_DRIVER=file
CACHE_STORE=file
QUEUE_CONNECTION=syncDatabase SQLite lokal berada di:
database/database.sqlite
Jalankan migration:
php artisan migrateJalankan server Laravel:
php artisan serveJalankan Vite:
npm run devURL lokal default:
- App:
http://127.0.0.1:8000 - Admin:
http://127.0.0.1:8000/admin
Untuk test backend:
php artisan testAtau via Composer:
composer testJika test render Blade yang memuat Vite, jalankan build frontend dulu:
npm run buildphp artisan serve
php artisan migrate
php artisan migrate:fresh --seed
php artisan db:seed
php artisan make:model
php artisan make:migration
php artisan tinker
npm run dev
npm run buildArah styling admin mengikuti website referensi Wigra:
- website referensi: Wigra Production House
- font heading website:
Cormorant Garamond - font body website:
Inter - warna gelap utama:
#0a0a0a - warna aksen:
#c9544d
Saat project siap masuk workflow backend utama, .env bisa dikembalikan ke MySQL.
Contoh:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=admin_wigra
DB_USERNAME=root
DB_PASSWORD=
SESSION_DRIVER=database
CACHE_STORE=database
QUEUE_CONNECTION=databaseLangkah setelah pindah:
php artisan config:clear
php artisan migrateJika memakai Laragon:
- pastikan MySQL aktif
- pastikan database sudah dibuat
- sesuaikan nama DB, username, dan password di
.env
- Jangan commit credential real production.
- Jangan gunakan user dummy lokal untuk environment production/staging.
- Saat ini belum ada role management, jadi akses admin masih perlu dibuat lewat auth backend.
- Pastikan migration dan seeder konten fase 1 dibuat sebelum tim frontend mulai integrasi API.
Urutan kerja yang disarankan:
- rapikan user seeder dan admin default
- tambahkan auth backend untuk admin React
- tambahkan role dasar
superadmindaneditor - buat migration konten inti phase 1
- buat halaman CRUD React untuk semua entitas
- tambahkan authorization/policy per role
- bangun API publik read-only
- tambah sample seed data untuk frontend/testing
Penyebab:
- app masih mengarah ke MySQL
- MySQL belum aktif
Solusi cepat untuk local view-only:
- gunakan SQLite
- set
SESSION_DRIVER=file - set
CACHE_STORE=file - set
QUEUE_CONNECTION=sync
Lalu jalankan:
php artisan config:clear
php artisan migratePenyebab:
- frontend belum di-build
- Vite dev server belum berjalan
Solusi:
npm run buildatau jalankan Vite dev server:
npm run devJalankan:
php artisan config:clear
php artisan cache:clear