Package that automated the work the clean dashboard.
niraj/crudstarter is a Laravel package for package that automated the work the clean dashboard..
It currently has 20 GitHub stars and 620 downloads on Packagist (latest version 7.4.1).
Install it with composer require niraj/crudstarter.
Discover more Laravel packages by niraj
or browse all Laravel packages to compare alternatives.
Last updated


Laravel Version: >= 8.0
PHP Version: >= 7.3
Composer: >= 2.0
composer require niraj/crudstarter --dev
php artisan vendor:publish --tag=crudstarter-config
php artisan vendor:publish --tag=crud-stub
php artisan gen:dashboard
php artisan gen:crud {ModelName} --fields="fieldName:dataType fieldName:dataType"
php artisan gen:api {ModelName} --fields="fieldName:dataType fieldName:dataType
php artisan del:crud {ModelName}
php artisan del:api {ModelName}
Example: To generate Post CRUD
php artisan gen:crud Post --fields="name:str slug:str description:text image:str status:bool"
You can add fields in gen commands which auto fills model, migration, request and api resources
To add fields we use
--fields="field_name1:data_type1{space}field_name2:data_type2"
Example: To generate Post CRUD with fields
php artisan gen:crud Post --fields="name:str description:text count:int by_admin:bool is_published:select:options=published,pending"
Note: Please run auto-alignment (code-formatting) command in your ide/text-editor in generated blade files [eg:
Ctrl+Alt+Shift+Lin phpstorm].
to add this functionality simply add --relations="your code here" in gen command
Example: To generate Profile CRUD with relations (hasOne: Account, hasMany: Blogs and belongTo: User)
php artisan gen:crud Profile --fields="name:str user_id:fid" --relations="haso:account hasm:blogs belt:user"
|Relation Name| Short Hand For | | ----------- | ----------------- | | haso | hasOne | | hasm | hasMany | | belt | belongsTo | | belm | belongsToMany |
Note: you can use
hasMany,belongsToetc directly in --relations command if you feel comfortable and it currently only supports these 4 common relations type.
to add this functionality simply add --softDelete in gen command
Example: To generate Post CRUD with soft deletes
php artisan gen:crud Post --fields="name:str description:text" --softDelete
some short hands for convenience are provided i.e instead of unsignedInteger we can use uint instead while defining fields
| Data type Name| Short Hand For | | ----------- | ----------------- | | inc | increments | | int | integer | | uint | unsignedInteger | | tinyint | tinyInteger | | utinyint | unsignedTinyInteger | | smallint | smallInteger | | usmallint | unsignedSmallInteger | | mediumint | mediumInteger | | umediumint | unsignedMediumInteger | | bigint | bigInteger | | ubigint | unsignedBigInteger | | txt | text | | tinytext | tinyText | | mediumtext | mediumText | | longtext | longText | | bool | boolean | | fid | foreignId |
Note: For other data types like
date, enum, decimal, uuidetc can typed as it is.
-[ Model, Controller, Blade Files, Request, Migration ] with Feature Test Skeleton!
-[ ApiController, ApiRequest, ApiResource ] with Feature Test Skeleton!
Note: Model, Factory, Migration can be also generated for API if needed.
You may have to easily customize blade files according to your dashboard template. Which Can be done easily.
HAPPY CODING :metal: