iqbalfarhan / templatestarter-v2
The skeleton application for the Laravel framework.
Installs: 48
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
Language:TypeScript
Type:project
pkg:composer/iqbalfarhan/templatestarter-v2
Requires
- php: ^8.2
- inertiajs/inertia-laravel: ^2.0
- laravel/framework: ^12.0
- laravel/prompts: ^0.3.6
- laravel/socialite: ^5.23
- laravel/tinker: ^2.10.1
- onecentlin/laravel-adminer: ^8.0
- spatie/laravel-medialibrary: ^11.14
- spatie/laravel-permission: ^6.21
- tightenco/ziggy: ^2.4
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/pail: ^1.2.2
- laravel/pint: ^1.18
- laravel/sail: ^1.41
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- pestphp/pest: ^3.8
- pestphp/pest-plugin-laravel: ^3.2
README
Starter kit Laravel 12 + React (Inertia v2, Tailwind v4, Shadcn UI) buat bikin project kecil–menengah dengan cepat. Sekali generate, langsung dapet Model + CRUD API + React View — tinggal atur field dan form aja.
Fitur Utama
- Auto Generate CRUD Model, Migration, Controller, Request, dan React View otomatis.
- Role Based Access Control (RBAC) Menggunakan spatie/laravel-permission
- Media Handling Support spatie/laravel-medialibrary
- Database Management Built-in laravel-adminer
- Modern Frontend Stack Tailwind CSS v4, Shadcn, React, dan Inertia v2 sudah siap pakai.
Instalasi
1. Buat Project Baru
composer create-project iqbalfarhan/templatestarter-v2 nama_project
cd nama_project
Ganti
nama_project
sesuai nama project kamu.
2. Setup Awal
# Install dependencies composer install pnpm install # Copy env & generate key cp .env.example .env php artisan key:generate # Setup database & seed data php artisan migrate php artisan db:seed # Build assets & jalankan dev server composer dev
Akses aplikasi di: http://127.0.0.1:8000
Konfigurasi
File konfigurasi utama ada di: config/template-starter.php
Key | Fungsi |
---|---|
default-roles |
Role default aplikasi (['superadmin', 'admin', 'user'] ) |
default-role |
Role default user baru |
with-landingpage |
Aktif/nonaktif landing page |
generated-react-files-path |
Path hasil generate file React |
Pastikan
default-role
ada di daftardefault-roles
.
Kalau ada perubahan konfigurasi di tengah development:
php artisan migrate:fresh --seed
Panduan Development
1. Generate Model
php artisan generate:amodel NamaModel
Akan membuat otomatis:
- Model (fillable ready)
- Factory dan Seeder
- StoreRequest dan UpdateRequest
- Controller API full CRUD
- Route::apiResource di
web.php
Gunakan PascalCase untuk nama model (contoh: Project
, UserProfile
).
2. Generate React View
php artisan generate:rview nama_fitur
# contoh
php artisan generate:rview project
Yang dibuat:
- Index (tabel)
- Detail page
- Dialog delete
- Sheet create/edit
- Sheet filter
- Item component
- Type definition (TypeScript)
Tambahkan route di web.php
dan menu di app-sidebar.tsx
:
Route::apiResource('project', ProjectController::class);
3. Generate Model + View Sekaligus
php artisan generate:rmodel NamaFitur
CLI akan menanyakan:
- SoftDelete?
- Media?
Lalu masukkan field model seperti berikut:
name:string content:text published:boolean published_at:datetime category_id:fk
Jangan tekan enter kosong di akhir input.
Datatype | TypeScript | Migration | Keterangan |
---|---|---|---|
integer | number | integer | Angka |
string | string | string | Teks pendek |
text | string | text | Teks panjang |
date | string | date | Tanggal |
datetime | string | datetime | Tanggal dan waktu |
boolean | boolean | boolean | True/False |
fk | Object | foreignId | Relasi wajib |
nfk | Object | foreignId | Relasi nullable |
4. Generate Permission
php artisan generate:permission user
Atau generate semua sekaligus:
php artisan generate:permission --all --softDelete
Perintah ini otomatis membuat permission untuk semua model di app/Models
, termasuk yang menggunakan SoftDeletes.
5. Login dengan Socialite (Google)
Sudah mendukung login via Google menggunakan Laravel Socialite. Cara mengaktifkan:
-
Ubah
enable_socialite
menjaditrue
diconfig/template-starter.php
-
Tambahkan di
.env
:GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET=
-
Rebuild project, lalu buka halaman login. Tombol “Sign in with Google” akan muncul.
Untuk menambahkan platform lain, sesuaikan di config/services.php
dan SocialiteController.php
.
Roadmap
- Auto generate model, view, rmodel
- RBAC dengan Spatie
- Login via Socialite
- Auto generate menu sidebar
- API Pagination + Search
Tips
- Kalau ubah konfigurasi role → jalankan
php artisan migrate:fresh --seed
- Untuk development cepat → tambahkan menu langsung di
app-sidebar.tsx
setelah generate
Lisensi
MIT License © Iqbal Farhan
Dukung Pengembangan
Kalau template ini bermanfaat buat kamu, dukung pengembangannya dengan donasi seikhlasnya. Setiap dukungan sangat berarti agar project ini bisa terus dikembangkan.