Skip to content

novay/boilerplate

 
 

Repository files navigation

Laravel Boilerplate

💡 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:

Changelog

Please see CHANGELOG for more information what has changed recently.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

License

The MIT License (MIT). Please see License File for more information.

About

Personal Laravel boilerplate.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 53.0%
  • Blade 43.9%
  • JavaScript 2.0%
  • Other 1.1%