ranitachi/simple-crud-generator

A simple CRUD generator package for Laravel

1.1.0 2025-04-13 11:42 UTC

This package is auto-updated.

Last update: 2025-04-13 11:44:04 UTC


README

Version

Latest Stable Version
Total Downloads
License

๐Ÿ“Œ 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 dan x-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