WARNING
You're browsing the documentation for an old version of Generator. Consider upgrading your project to Generator 0.3.x.
Features ​
Simple Version ​
- CRUD Generator
- Support more than 15 column types of migrations, like
string, char, date, year
, etc. - Datatables (Yajra Datatables)
- One To Many (Inverse) / Belongs To
- Model casting
- Image upload (Intervention Image)
- Support HTML 5 Input
- Request validations supported:
required, in, image, min, max, string, email, number, date, exists, nullable, unique, confirmed
- Support more than 15 column types of migrations, like
Full Version ​
- CRUD Generator
- Configurable sidebar menus
- CRUD User
- Roles and permissions (Spatie Permission)
- Authentication (Laravel Fortify)
- Login
- Register
- Forgot Password
- 2FA Authentication
- Update profile information
Available Commands ​
Install The Generator ​
Install Generator Variants (Simple/Full Version)
For simple version
php artisan generator:install simple
For full version
php artisan generator:install full
Warning! That will overwrite several files, so use caution while using this command and avoid using it more than once.
Set the sidebar menu ​
Set the sidebar menu to fully blade code (static) or use a list from config (dynamic)
Sidebar configuration place in config/generator.php
php artisan generator:sidebar dynamic
While using static sidebar menu, you feel free to edit the sidebar menus on resources/views/layouts/sidebar.blade.php
php artisan generator:sidebar static
After you create a new module using the generator, sidebar will automatically comeback to set dynamic
Utilities/Helpers ​
Check sidebar active menus ​
is_active_menu(string|array $menu): boolean;
Utility class ​
All utility functions that you maybe need, are available in App\Generators\GeneratorUtils
use App\Generators\GeneratorUtils;
/**
* Get template/file.
*/
public static function getTemplate(string $path): string;
/**
* Get published files.
*/
public static function getPublishedFiles(string $path): string;
/**
* Check folder if not exist, then make folder.
*/
public static function checkFolder(string $path): void;
/**
* Convert string to singular pascal case.
*/
public static function singularPascalCase(string $string): string;
/**
* Convert string to singular pascal case.
*/
public static function pascalCase(string $string): string;
/**
* Convert string to plural pascal case.
*/
public static function pluralPascalCase(string $string): string;
/**
* Convert string to plural snake case.
*/
public static function pluralSnakeCase(string $string): string;
/**
* Convert string to singular snake case.
*/
public static function singularSnakeCase(string $string): string;
/**
* Convert string to plural pascal case.
*/
public static function pluralCamelCase(string $string): string;
/**
* Convert string to singular pascal case.
*/
public static function singularCamelCase(string $string): string;
/**
* Convert string to plural, kebab case, and lowercase.
*/
public static function pluralKebabCase(string $string): string;
/**
* Convert string to kebab case, and lowercase.
*/
public static function kebabCase(string $string): string;
/**
* Convert string to singular, kebab case, and lowercase.
*/
public static function singularKebabCase(string $string): string;
/**
* Convert string to singular, remove special characters, and lowercase.
*/
public static function cleanSingularLowerCase(string $string): string;
/**
* Remove special characters, and lowercase.
*/
public static function cleanLowerCase(string $string): string;
/**
* Convert string to plural, remove special characters, and uppercase every first letters.
*/
public static function cleanPluralUcWords(string $string): string;
/**
* Convert string to singular, remove special characters, and uppercase every first letters.
*/
public static function cleanSingularUcWords(string $string): string;
/**
* Remove special characters, and uppercase every first letters.
*/
public static function cleanUcWords(string $string): string;
/**
* Convert string to plural, remove special characters, and lowercase.
*/
public static function cleanPluralLowerCase(string $string): string;
/**
* Get 1 column after id on the table.
*/
public static function getColumnAfterId(string $table): string;
/**
* Select id and column after id on the table.
*/
public static function selectColumnAfterIdAndIdItself(string $table): string;
/**
* Get model location or path if contains '/'.
*/
public static function getModelLocation(string $model): string;
/**
* Converts camelCase string to have spaces between each.
*/
public static function fromCamelCase(string $string): string;
/**
* Set model name from the latest of array(if exists).
*/
public static function setModelName(string $model, string $style = 'pascal case'): string;
/**
* Set default image and code to controller.
*/
public static function setDefaultImage(null|string $default, string $field, string $model): array;
/**
* Convert array from config to string like array.
*/
public static function convertArraySidebarToString(array $sidebars): string;
/**
* Check if menu is active.
*/
public static function isActiveMenu(string|array $route): string;
Things that we want to add in the future ​
- API CRUD generator
- API docs
- Can create more relation type
- Upload file except image
- CRUD with desain pattern(Service/Repository Pattern)
- Laravel table pagination
- Import/Export csv
- Input for custom table name
- Change request validation as an array
- Add a checkbox for whether to use route model binding or not
- Add a checkbox to turn off automatic pluralization
- If the time zone is set to Indonesia, then disable pluralization
- Add username to users table
- New template admin
- Option to auto migrate table or not
- Add config for showing an image in the data table or not
- ability to hide/show the field on the view page
- Configuration to limit showing fields in the index page
- Can select the field that will be showing in belongsTo the relation
- The generator can make seeder and factory
- Add default config for minimum & maximum length to column type string
- The generator can make subfolders for request class validation
- Add configuration for image type rounded or square
- Add support for diffForHumans() to input type date.
- Can custom validation(write-in input)
- The generator can use caching
- The generator can create policy
- The generator can create model observer
- Use database transaction
- The generator can create mutator & casting
- Configuration for upload file to S3
- Add soft delete option
- If the model is in a subfolder then the route will use the sub-route
- Add unit test for the generator
- The generator can create unit test
- Add notification if the user changed their email or password (package)
- Add activity log (package)
- Add backup database (package)
- The Generator uses enum class for column type enum
- Refactor code
The list is subject to change at any time and features may be added in any order.