Package Data | |
---|---|
Maintainer Username: | sebastienheyd |
Maintainer Contact: | contact@sheyd.fr (Sébastien HEYD) |
Package Create Date: | 2017-03-29 |
Package Last Update: | 2024-10-04 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-14 15:01:22 |
Package Statistics | |
---|---|
Total Downloads: | 10,351 |
Monthly Downloads: | 319 |
Daily Downloads: | 8 |
Total Stars: | 218 |
Total Watchers: | 10 |
Total Forks: | 65 |
Total Open Issues: | 6 |
This package is to be served as a basis for a web application. It allows you to access to an administration panel to manage users, roles and permissions.
For other Laravel versions : 5.7 / 5.6 / 5.5 / 5.4
composer require sebastienheyd/boilerplate
php artisan vendor:publish --provider="Sebastienheyd\Boilerplate\BoilerplateServiceProvider"
.env
file run :php artisan migrate
Optional
If you want to quickly test your Laravel application.
php artisan serve
Now you can point your browser to http://localhost:8000/ you will see buttons on the top right of the Laravel's default page. Click on Login or Register to access the administration panel.
Configuration files can be found in config/boilerplate
folder.
app.php
: name of the application (only backend), admin panel prefix,
redirection after login (see comments in file), AdminLTE skin and more...auth.php
: overriding of config/auth.php
to use boilerplate models instead
of default Laravel models. Allow you to define if users can register from login page and which role will be assigned
to a new user.laratrust.php
: overriding of Laratrust (package santigarcor/laratrust)
default config.menu.php
: dashboard and menu classesYou can define your own controller to display the dashboard. To do this, set the dashboard
parameter in the
configuration file config/boilerplate/menu.php
.
To add an item to the menu, nothing simpler, use the artisan boilerplate:menuitem
command provided with boilerplate.
This command will generate the classes needed to generate the menu item in the app/Menu
folder.
php artisan boilerplate:menuitem {name} {-s} {-o=100}
| option / argument | description | |---|---| | name | Class name to generate | | -s --submenu | Menu item must have sub item(s) | | -o --order | Menu item order in the backend menu |
Once generated, the files can be edited to customize the item, it's quite easy to understand.
You can also add a provider by adding its class name to the list of providers in the configuration file
config/boilerplate/menu.php
. This can be useful if you are developing a package that is based on boilerplate.
For more information, see the documentation of the following packages:
By default, only jQuery, bootstrap 3, Font Awesome and AdminLTE scripts and css are loaded.
To load and use plugins like datatable, datepicker, icheck, ... you can use "loaders". These are blade templates prepared to add the loading of scripts and styles for a plugin.
For example, you want to use a datepicker on a text field :
@include('boilerplate::load.datepicker')
@push('js')
<script>
$('.daterangepicker').daterangepicker();
$('.datepicker').datepicker();
</script>
@endpush
Here @include('boilerplate::load.datepicker')
will load scripts and styles to allow usage of datepicker. After that
you can push your scripts on the js
stack (or styles on the css
stack).
Available loaders are :
boilerplate::load.datatables
:
Datatables -
Example
boilerplate::load.datepicker
:
Datepicker &
DateRangePicker -
Example
boilerplate::load.icheck
:
iCheck -
Example
boilerplate::load.select2
:
Select2 -
Example
boilerplate::load.moment
:
MomentJs
boilerplate::load.fileinput
:
Bootstrap FileInput
More will come...
Some plugins are loaded by default :
You can see examples on the default dashboard.
By default the language used by boilerplate is the application language declared into config/app.php
(locale). You can
define another language only for the back-office by setting locale
parameter in config/boilerplate/app.php
.
Supported language are English, French, Spanish and Turkish.
When you run php artisan vendor:publish --provider="Sebastienheyd\Boilerplate\BoilerplateServiceProvider"
, only the
language files for form validation are copied for supported languages. Thanks to
caouecs/Laravel-lang package !
You can translate into a language not yet supported by copying the
src/resources/lang/boilerplate
folder content into
resources/lang/vendor/boilerplate
folder. After that, copy or rename one of the language folders in the new language
folder to create. All you have to do is translate. If you want to share the language you have added, don't hesitate to
make a pull request.
Routes are loaded from the file boilerplate.php
.
A default prefix admin
is set into the config file app.php
, this is why
boilerplate is accessible by /admin url. You can set an empty prefix if you remove the default route / defined in
routes/web.php
Boilerplate comes with assets such as Javascript, CSS, and images. Since you typically will need to overwrite the assets
every time the package is updated, you may use the --force
flag :
php artisan vendor:publish --provider="Sebastienheyd\Boilerplate\BoilerplateServiceProvider" --tag=public --force
To auto update assets each time package is updated, you can add this command to post-autoload-dump
into the
file composer.json
at the root of your project.
{
"scripts": {
"post-autoload-dump": [
"@php artisan vendor:publish --provider=\"Sebastienheyd\\Boilerplate\\BoilerplateServiceProvider\" --tag=public --force -q",
]
}
}
If needed, you can force update for these tags : config
, lang
, public
| tag | description | destination path | |---|---|---| | config | Configuration files | app/config/boilerplate | | lang | Laravel default lang files for form validation | ressources/lang | | public | Public assets, you must update it after each package update | public/assets/vendor/boilerplate |
This package is delivered with a Makefile
used to launch checks for the respect of coding standards and the unit tests
Just call make
to see the list of commands.
This package is also delivered with functional tests using Laravel Dusk
After installing Laravel, Laravel Dusk and configuring your database, you can start the tests with the following command :
php artisan dusk vendor/sebastienheyd/boilerplate/tests/DuskTest.php
Important : Never launch tests with Laravel Dusk if you have data in your database, Dusk will wipeout all your datas
Since Laravel 5.8, this package use Carbon 2 instead of Jenssegers/Date to translate dates.
Date format now use the format of momentjs. To translate your dates, you must now use the Carbon 2 class method isoFormat
instead of format
MySQL < v5.7.7 or MariaDB
When you run php artisan migrate
and you hit this error :
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
This is an error from a change since Laravel 5.4 : see here
To correct this, two possibilities :
Define utf8
instead of utf8mb4
as default database charset and utf8_unicode_ci
instead of
utf8mb4_unicode_ci
as default database collation.
Edit your app/Providers/AppServiceProvider.php
file and define a default string inside the boot method :
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
This package is free software distributed under the terms of the MIT license.