novay / boilerplate
My personal Laravel boilerplate.
1.0.56
2024-03-19 16:35 UTC
Requires
- php: ^8.2
- illuminate/console: ^9.37|^10.0|^11.0
- illuminate/filesystem: ^9.37|^10.0|^11.0
- illuminate/support: ^9.37|^10.0|^11.0
- illuminate/validation: ^9.37|^10.0|^11.0
- league/flysystem-aws-s3-v3: ^3.24
- maatwebsite/excel: ^3.1
- protonemedia/laravel-splade: ^1.3.0
- stichoza/google-translate-php: ^5.1
Requires (Dev)
- laravel/pint: ^1.1
Conflicts
- laravel/framework: <9.37.0
README
💡 This built for my personal use. Tested on Laravel 10 & 11.
Installation
📖 The installation process is quite simple.
# Laravel 10 composer create-project laravel/laravel:^10.0 example-app cd example-app composer require novay/boilerplate php artisan vendor:publish --provider="Novay\Boilerplate\BoilerplateServiceProvider" --tag="config" php artisan boilerplate:install # Laravel 11 laravel new example-app cd example-app composer require novay/boilerplate "1.0.56" composer require protonemedia/laravel-splade "1.4.18" php artisan vendor:publish --provider="Novay\Boilerplate\BoilerplateServiceProvider" --tag="config" php artisan boilerplate:install
Do not forget to migrate our default migration:
php artisan migrate
The boilerplate:install
command will also build the frontend assets. Just like regular Laravel applications, you may run the Vite development server:
npm run dev
Additionally, you can follow this step:
// app/Providers/AppServiceProvider.php ... class AppServiceProvider extends ServiceProvider { ... public function boot(): void { \Illuminate\Support\Facades\Schema::defaultStringLength(191); \ProtoneMedia\Splade\Facades\Splade::defaultToast(function ($toast) { $toast->autoDismiss(3); }); } ... } // app/Http/Kernel.php (Laravel 10) ... class Kernel extends HttpKernel { ... protected $middlewareGroups = [ 'web' => [ ... \App\Http\Middleware\LangMiddleware::class, ], ... ]; ... } // app/Models/User.php ... // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; # Laravel 10 use App\Traits\HasProfilePhoto; use App\Traits\RandomIds; class User extends Authenticatable // implements MustVerifyEmail { use HasApiTokens; # Laravel 10 use HasFactory, Notifiable; use HasProfilePhoto, RandomIds; protected $fillable = [ 'name', 'email', 'password', 'phone', 'plain', 'address', 'last_login_ip', 'last_login_at' ]; protected $hidden = [ 'password', 'plain', 'remember_token', ]; # Laravel 10 protected $casts = [ 'password' => 'hashed', 'email_verified_at' => 'datetime', 'deleted_at' => 'datetime', 'last_login_at' => 'datetime', ]; # Laravel 11 protected function casts(): array { return [ 'password' => 'hashed', 'email_verified_at' => 'datetime', 'deleted_at' => 'datetime', 'last_login_at' => 'datetime', ]; } }
# Additional
composer require kirschbaum-development/eloquent-power-joins
Documentation
📖 Complete documentation for Laravel Splade
You can use this toolkit right away:
- Preline (Tailwind)
- Iconify Design (Icon)
Changelog
Please see CHANGELOG for more information what has changed recently.
Security
If you discover any security related issues, please email novay@btekno.id instead of using the issue tracker.
License
The MIT License (MIT). Please see License File for more information.