reyworkbench / msjframework
MSJ Framework - Base Framework for Laravel MSJ Framework
Installs: 25
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/reyworkbench/msjframework
Requires
- php: ^8.2
- laravel/framework: ^11.0|^12.0
- laravel/prompts: ^0.1.0|^0.3.0
Requires (Dev)
- barryvdh/laravel-ide-helper: ^3.0
- laravel/pint: ^1.24
- phpunit/phpunit: ^11.0
README
MSJ Framework Laravel Generator adalah package Laravel yang memudahkan pembuatan CRUD (Create, Read, Update, Delete) dengan wizard interaktif menggunakan Laravel Prompts. Package ini secara otomatis menghasilkan Model, Controller, Views (Blade), JavaScript, dan konfigurasi database untuk modul MSJ Framework.
Fitur
- Wizard Interaktif - Menggunakan Laravel Prompts untuk pengalaman yang lebih baik
- CRUD Generator - Generate lengkap Model, Controller, Views, dan JavaScript
- Multi Layout Support - Mendukung layout manual, standard, transaksi, system, dan report
- Auto Detection - Deteksi otomatis struktur tabel database
- Authorization - Generate konfigurasi authorization otomatis
- Fillable Auto - Generate fillable property secara otomatis dari struktur tabel
- Beautiful Console - Console output yang menarik dengan ASCII art dan badges
- Search & Select - Pencarian tabel dan field dengan autocomplete
Requirements
- PHP >= 8.2
- Laravel ^11.0|^12.0
- Laravel Prompts ^0.1.0|^0.3.0
Installation
Install package via Composer:
composer require reyworkbench/msjframework
Publish configuration (optional):
php artisan vendor:publish --tag=msj-generator-config
Usage
Interactive Menu
Jalankan command tanpa argument untuk membuka menu interaktif:
php artisan msj:make
Generate Module (Wizard)
Generate module lengkap dengan wizard interaktif:
php artisan msj:make menu
# atau
php artisan msj:make module
Generate CRUD (Quick)
Generate CRUD secara cepat:
php artisan msj:make crud mst_example
Dengan opsi:
php artisan msj:make crud mst_example --gmenu=KOP001 --dmenu=KOP999 --layout=manual
Generate Controller
php artisan msj:make controller ExampleController
Generate Model
php artisan msj:make model mst_example
Generate Views
php artisan msj:make views
Commands
msj:make
Hub command untuk semua generator. Menampilkan menu interaktif jika dijalankan tanpa argument.
msj:make:menu
Wizard interaktif untuk generate module lengkap dengan 4 langkah:
- Pilih Layout Type
- Informasi Dasar (gmenu, dmenu, menu name, URL, table)
- Pengaturan Field
- Ringkasan
msj:make:crud {table}
Generate CRUD secara cepat dari tabel database.
Options:
--gmenu=- Kode group menu (default: KOP001)--dmenu=- Kode detail menu (default: KOP999)--layout=- Tipe layout: manual|standr|transc|system|report (default: manual)
msj:make:controller {name}
Generate controller MSJ dengan method CRUD.
Options:
--table=- Nama tabel database--gmenu=- Kode group menu--url=- URL slug
msj:make:model {table}
Generate model dari struktur tabel database.
Options:
--force- Menimpa model yang sudah ada
msj:make:views
Generate blade views (list, add, edit, show) dan JavaScript.
Options:
--gmenu=- Kode group menu--url=- URL slug--table=- Nama tabel database--dmenu=- Kode detail menu
Layout Types
- manual - Controller & views custom (kontrol penuh)
- standr - CRUD standard (form sederhana, 1 primary key)
- transc - Transaksi (struktur header-detail)
- system - Konfigurasi sistem (master-detail)
- report - Menu laporan (halaman filter & hasil)
Generated Files
Model
app/Models/{ModelName}.php- Auto-detected primary key
- Auto-generated fillable properties
- Timestamps configuration
Controller
app/Http/Controllers/{ControllerName}.php- CRUD methods: index, add, store, edit, update, destroy, show
- Authorization checks
- Validation using ValidationHelper
- Transaction support
Views
resources/views/{gmenu}/{url}/list.blade.phpresources/views/{gmenu}/{url}/add.blade.phpresources/views/{gmenu}/{url}/edit.blade.phpresources/views/{gmenu}/{url}/show.blade.php
JavaScript
resources/views/js/{dmenu}.blade.php
Database Configuration
- Menu registration in
sys_dmenu - Table configuration in
sys_table - Authorization in
sys_auth
Configuration
File konfigurasi: config/msj-generator.php
return [ 'default_layout' => 'manual', 'default_gmenu' => 'KOP001', 'default_dmenu' => 'KOP999', // ... ];
Database Requirements
Package ini memerlukan tabel berikut di database:
sys_gmenu- Group menusys_dmenu- Detail menusys_table- Table configurationsys_auth- Authorization configurationsys_roles- Rolessys_log- System logs (optional)
Examples
Example 1: Generate CRUD untuk tabel mst_anggota
php artisan msj:make crud mst_anggota --gmenu=KOP001 --dmenu=KOP001 --layout=manual
Example 2: Generate menggunakan wizard
php artisan msj:make menu
Kemudian ikuti wizard:
- Pilih layout:
manual - Pilih gmenu:
KOP001 - Masukkan dmenu:
KOP001 - Masukkan menu name:
Data Anggota - Masukkan URL:
data-anggota - Pilih tabel:
mst_anggota - Konfirmasi generate
Development
Run Tests
composer test
Code Style
composer pint
License
Proprietary License. Copyright (c) 2024 PT Multi Spunindo Jaya Tbk. All Rights Reserved.
This software is the exclusive property of PT Multi Spunindo Jaya Tbk. Unauthorized use, copying, modification, distribution, or reproduction is strictly prohibited. Please see License File for more information.
Contributing
Contributions are closed! Please feel free to email me to contribute the project.
Support
For support, email reynaldsilva123@gmail.com or open an issue on GitHub.
Credits
- PT Multi Spunindo Jaya Tbk
- MSJKoperasi Team
- MSJ Framework Team (MSJ IT)