Awesome
Laravel scaffolder
Remove the headache of creating over and over again the base code for most of your projects. You are free to extend it the way you need. This package only generate things that you need to start, always keeping the code clean and abstract. Are you hungry ? Fork it !
Installation
-
Get laravel up and running
-
Add the following packages to your composer.json
... "laravelcollective/html": "5.2.*", "yajra/laravel-datatables-oracle": "~6.0", "mpaleo/view-tags": "~1.0", "mpaleo/scaffolder-theme-material": "~1.0", "mpaleo/scaffolder": "~2.0", ...
-
Update your packages
composer update
-
Add the service providers to the providers array in
{laravel-root}\config\app.php
... ViewTags\ViewTagsServiceProvider::class, ScaffolderTheme\ScaffolderThemeServiceProvider::class, Scaffolder\ScaffolderServiceProvider::class, Yajra\Datatables\DatatablesServiceProvider::class, ...
-
Add the following aliases in
{laravel-root}\config\app.php
... 'ViewTags' => ViewTags\ViewTags::class, 'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, ...
Getting started
First you need to publish the configuration files and assets
./artisan vendor:publish --provider="Scaffolder\ScaffolderServiceProvider"
./artisan vendor:publish --provider="ScaffolderTheme\ScaffolderThemeServiceProvider" --force
Here we are using the theme mpaleo/scaffolder-theme-material, but you can fork it, and do whatever you want/need :)
At this point, you already can start to scaffold things. You have two ways to use the package.
Command line way
When you execute the artisan publish command, the service provider creates the folder {laravel-root}\scaffolder-config
that has the following structure:
- scaffolder-config
-- app.json
-- models
-- cache
The app.json
file contains global settings, also you will get some demo files for models. All you need to scaffold an application is to edit the app.json
file, and create the json files for the models you want. After you have all the files ready, you have the following commands:
This command generate the application using the files that you have provided.
./artisan scaffolder:generate
For instance, when you update the package, you should clear the cache files stored in {laravel-root}\scaffolder-config\cache
./artisan scaffolder:cache-clear
User interface way
All you need to do, is go to your http://{crazyhost}/scaffolder/generator
and fill some inputs :)
Next steps
Contributing
Just let me know your ideas and let's work together
Coding style
It would be great if we follow the PSR-2 coding standard and the PSR-4 autoloading standard.
License
The scaffolder package is licensed under the MIT license