niraj / crudstarter
Package that automated the work the clean dashboard.
- dev-main
- 7.4.1
- 7.4.0
- 7.3.1
- 7.3.0
- 7.2.0
- 7.1.1
- 7.1.0
- 7.0.0
- 6.1.0
- 6.0.0
- 5.4.1
- 5.4.0
- 5.3.0
- 5.2.0
- 5.1.0
- 5.0.0
- 4.2.5
- 4.2.4
- 4.2.3
- 4.2.1
- 4.2.0
- 4.1.12
- 4.1.11
- 4.1.10
- 4.1.9
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.2.3
- 3.2.2
- 3.2.1
- 3.1.1
- 3.0.1
- 3.0.0
- 2.1.2
- 2.1.1
- 2.0.1
- 2.0.0
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.0
- dev-Niraj
This package is auto-updated.
Last update: 2025-04-22 08:51:40 UTC
README
Crud and API Generator Package
Package which lets you automate tedious CRUD Operations.
Detailed Package Docs
GO TO DOCS
Requirements
Laravel Version: >= 8.0
PHP Version: >= 7.3
Composer: >= 2.0
Installation
composer require niraj/crudstarter --dev
Required (Publish the config file)
php artisan vendor:publish --tag=crudstarter-config
Optional (If you want to edit stub files)
php artisan vendor:publish --tag=crud-stub
Generate Dashboard (One time command)
php artisan gen:dashboard
Package Usage
Basic Usage
- To generate CRUD
php artisan gen:crud {ModelName} --fields="fieldName:dataType fieldName:dataType"
- To generate API
php artisan gen:api {ModelName} --fields="fieldName:dataType fieldName:dataType
- To delete CRUD Files
php artisan del:crud {ModelName}
- To delete API Files
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"
Adding Fields
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+L
in phpstorm].
Adding Relationships
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
,belongsTo
etc directly in --relations command if you feel comfortable and it currently only supports these 4 common relations type.
Adding Soft-Deleting fuctionality
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
Field Data Type
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, uuid
etc can typed as it is.
What will be generated !
-
CRUD
-[ Model, Controller, Blade Files, Request, Migration ] with Feature Test Skeleton!
-
API
-[ ApiController, ApiRequest, ApiResource ] with Feature Test Skeleton!
Note: Model, Factory, Migration can be also generated for API if needed.
Customization
- You can easily customize everything to your need by simply changing stubs files present in crud-stub folder present in resources/crud-stub
Notes
-
You may have to easily customize blade files according to your dashboard template. Which Can be done easily.
-
HAPPY CODING 🤘