steelants / laravel-boilerplate
Everything you need to start your Laravel journey.
Requires
- laravel/framework: ^11.0|^12.0
- livewire/livewire: ^3.0
- steelants/datatable: ^2.7.4
- steelants/form: ^1.7.4
- steelants/laravel-auth: ^1.0.3
- steelants/laravel-general: ^1.0.0
- steelants/livewire-form: ^0.1.1
- steelants/modal: ^3.0
Requires (Dev)
- barryvdh/laravel-debugbar: ^3.9
- orchestra/testbench: ^9.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- phpunit/phpunit: ^11.0.1
- slevomat/coding-standard: ^8.19
- squizlabs/php_codesniffer: ^4.0
This package is auto-updated.
Last update: 2026-07-16 13:40:08 UTC
README
Created by: SteelAnts s.r.o.
Preview
Upgrade Guide
Tag project
git checkout main git pull origin main git pull origin dev git tag 1.8.4 git push --tags git checkout dev
What's included
Functions
- User Management
- Job Management
- Cache Management
- Backup Manager
- Log Viewer
- Audit
- API Routes view page
- Menu builder
- From builder
- Datatable builder
Template
- Reponsive app template
- Light/dark theme
- Build on Bootstrap and Livewire
- Quill editor
Install
composer require steelants/laravel-boilerplate
composer install
#add Basic Controllers Routes and Features to APP namespace for customization
php artisan install:boilerplate
Import javascript and styles (includes bootstrap and font awesome)
// /resources/scss/app.scss @import "./boilerplate/boilerplate.scss"
// /resources/js/app.scss import './boilerplate/boilerplate.js';
Note
If you need customize any of included js/scss files, don't change files inside boilerplate folder. Instead create new root file boilerplate.scss/js by copying it from boilerplate folder. By changing paths of imported files you can make your custom verison or keep importing from boilerplate. When you update boilerplate package you will need to check changes only in root files boilerplate.scss/js and update your custom version accordingly.
Menu Builder
Single Level
Menu::make('main-menu', function ($menu) { $systemRoutes = [ 'general' => ['fas fa-eye', 'general.index'], ]; foreach ($systemRoutes as $title => $route_data) { $icon = $route_data[0]; $route = $route_data[1]; $menu->add($title, [ 'id' => strtolower($title), 'icon' => $icon, 'route' => $route, ]); } });
with sub Menu Builder
Multi Level
Menu::make('main-menu', function ($menu) { $mainItem = $menu->add('Home', [ 'id' => strtolower('Home'), 'icon' => 'fas fa-eye', 'route' => 'general.index', ]); $mainItem->add('Dashboard', [ 'id' => strtolower('Home-Dashboard'), 'icon' => 'fas fa-eye', 'route' => 'general.sub-index', ]); });
Alerts
types
success
error
warning
info
RELOAD type
Alert::add(type: 'info', text: 'Informační zpráva po redirektu', icon: '', mode: AlertModeType::RELOAD, persist: false);
INSTANT type
Alert::add(type: 'error', text: 'Error zpráva ve stejném requestu', icon: '', mode: AlertModeType::INSTANT, persist: false);
parametry
icon - využívá defaultní ikonu dle typu, pokud není nastavena persist - pokud je true, zůstává notifikace aktivní dokud ji neodklikne uživatel nebo neprovede redirect.
Commands
| Command | Description |
|---|---|
| install:boilerplate | Install or update boilerplate scaffolding into the project |
| make:crud | Scaffold a full CRUD resource (DataTable, Form, controller, routes, tests) |
| make:basic-tests | Generate basic route coverage tests |
| job:dispatch | Dispatch a job by class name |
Components
| Component | Tag | Description |
|---|---|---|
| Tab Group | <x-boilerplate::tab.group> |
Bootstrap tabs with Alpine.js state and cookie persistence |
| Breadcrumb | <x-boilerplate::breadcrumb> |
Bootstrap breadcrumb from associative array |
| Gantt | <x-boilerplate::gantt> |
Horizontal Gantt chart with day/week/month scale |
| Pie Graph | <x-boilerplate::pie-graph> |
Chart.js pie chart |
| Selectbox | <x-boilerplate::selectbox> |
Alpine.js select with tags mode and multi-select |
| Selectbox Ajax | <x-boilerplate::selectbox-ajax> |
Selectbox with server-side Livewire search |
| Searchbox | <x-boilerplate::searchbox> |
Client-side filtered dropdown search |
| Alert | alert()->success()->now() |
Snackbar notifications for Livewire and HTTP contexts |