ranitachi / simple-crud-generator
A simple CRUD generator package for Laravel
1.1.0
2025-04-13 11:42 UTC
Requires
- php: ^7.3 || ^8.0
- illuminate/support: ^8.0 || ^9.0 || ^10.0
This package is auto-updated.
Last update: 2025-04-13 11:44:04 UTC
README
๐ Introduction
SimpleCrudGenerator adalah package Laravel untuk mempercepat proses pembuatan CRUD (Create, Read, Update, Delete).
Dengan 1 perintah artisan, kamu akan langsung dapat:
- Model dengan soft deletes
- Controller RESTful
- Service logic terpisah
- Request validator
- Migration table
- Blade view siap pakai (index, create, edit)
- Komponen Blade universal:
<x-form-inputs />
&<x-datatable />
โ๏ธ Installation
1. Install via Composer
composer require ranitachi/simple-crud-generator
2. (Optional) Tambahkan ServiceProvider secara manual
Jika auto-discovery tidak aktif, daftarkan provider:
'providers' => [ Fcn\SimpleCrudGenerator\SimpleCrudGeneratorServiceProvider::class, ];
3. Publish Stubs dan Blade View
php artisan vendor:publish --provider="Fcn\SimpleCrudGenerator\SimpleCrudGeneratorServiceProvider"
๐ Usage
php artisan make:simple-crud {table_name}
Contoh:
php artisan make:simple-crud posts
Yang akan digenerate:
- โ
Model โ
app/Models/Post.php
- โ
Controller โ
app/Http/Controllers/PostController.php
- โ
Service โ
app/Services/PostService.php
- โ
Request โ
app/Http/Requests/PostRequest.php
- โ
Migration โ
database/migrations/..._create_posts_table.php
- โ
View โ
resources/views/pages/post/{index,create,edit}.blade.php
โจ Fitur Unggulan (v1.1)
- ๐ Auto-detect field:
text
,textarea
,select
,file
,image
,date
,number
,wysiwyg
- ๐ง Field seperti
flag
,status
,photo
,desc
langsung dikenali - ๐ WYSIWYG Editor via Summernote
- ๐ผ๏ธ Image preview langsung dari input file
- ๐ Auto config kolom datatable (index page)
- ๐งฉ
x-form-inputs
danx-datatable
support full kolom dinamis - ๐ก๏ธ Validasi otomatis di
Request
(via parser)
๐งฉ Contoh Route & Komponen Blade
Tambahkan ke routes/web.php
:
Route::prefix('admin')->group(function () { Route::resource('posts', \App\Http\Controllers\PostController::class); });
Di index.blade.php
:
<x-datatable :columns="$columns" ajax="{{ route('posts.index') }}" />
Di create/edit.blade.php
:
<x-form-inputs :fields="$fields" />
๐๏ธ Struktur File
โโโ app/
โ โโโ Models/Post.php
โ โโโ Services/PostService.php
โ โโโ Http/
โ โโโ Controllers/PostController.php
โ โโโ Requests/PostRequest.php
โโโ resources/views/pages/post/
โ โโโ index.blade.php
โ โโโ create.blade.php
โ โโโ edit.blade.php
โโโ resources/views/components/
โ โโโ form-inputs.blade.php
โ โโโ datatable.blade.php
๐ Changelog
Lihat CHANGELOG.md
untuk detail update fitur per versi.
๐จโ๐ป Contribution
Pull request, ide, dan kolaborasi sangat diterima!
Yuk ikut bantu sempurnakan generator CRUD ini ๐ฅ
๐งพ License
MIT ยฉ 2025 โ by ranitachi