shipu/web-installer

Laravel Web Installer

v1.0.1 2023-10-05 18:59 UTC

This package is auto-updated.

Last update: 2024-05-05 20:31:22 UTC


README

Laravel Web Installer is a Laravel package that allows you to install your application easily, without having to worry about setting up your environment before starting with the installation process.

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

Installation

composer require shipu/web-installer

then publish the assets

php artisan vendor:publish --tag=web-installer-assets

Screenshots

Server Requirements

Folder Permissions

Environment

Application Settings

Add New Step

You can add new step in installer. For this you have to create a new class and implement Shipu\WebInstaller\Concerns\StepContract class. Eg:

<?php

namespace Your\Namespace;

use Filament\Forms\Components\Wizard\Step;
use Shipu\WebInstaller\Concerns\StepContract;

class Overview implements StepContract
{
    public static function make(): Step
    {
        return Step::make('overview')
            ->label('Overview')
            ->schema([
             // Add Filament Fields Here
            ]);
    }
}

For Step documentation please visit Filament Forms

Then you have to add this class in config/installer.php Eg:

//...
'steps' => [
    Overview::class, // <-- Add Here
    //...
],
//...

Note: you have to publish config file first. More details in Configuration section.

Protect Routes

Protect other routes if not installed then you can apply the middleware to a route or route-group. Eg:

Route::group(['middleware' => 'redirect.if.not.installed'], function () {
    Route::get('/', function () {
        return view('welcome');
    });
});

In Filament, if you want to protect all admin panel routes then you have to add middleware in panel service provider. Eg:

public function panel(Panel $panel): Panel
{
    return $panel
        ...
        ->middleware([
            \Shipu\WebInstaller\Middleware\RedirectIfNotInstalled::class,
            ...
        ]);
}

Configuration

you can modify almost everything in this package. For this you have to publish the config file. Eg:

php artisan vendor:publish --tag=web-installer-config