amdadulshakib / installer
Laravel Installer Package
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:Blade
Requires
- php: ^8.1
- illuminate/support: ^12.0
This package is not auto-updated.
Last update: 2025-07-09 20:07:53 UTC
README
A clean and easy-to-use Laravel installation wizard with environment setup, database import, admin user creation, and project locking system โ perfect for CodeCanyon and distributable Laravel apps.
๐ Features
- Welcome screen
- System requirements checker
- .env environment setup form
- Database connection test & SQL file import (no migration)
- Admin user creation
- Installed lock file system
- UI-based installation wizard
- Middleware protection for installed state
- Publishable views & assets
๐ Folder Structure Overview
packages/
โโโ amdadulshakib/
โโโ Installer/
โโโ src
โโโ Controllers/
โโโ Middleware/
โโโ routes/
โโโ resources/
โ โโโ views/
โโโ routes/
โ โโโ web.php
โโโ helper.php
โโโ InstallerServiceProvider.php
โโโ composer.json
๐งฉ Installation
Option 1: Use from GitHub
Add this to your project's composer.json
:
"repositories": [ { "type": "vcs", "url": "https://github.com/amdadulshakib/laravel-project-installer" } ]
Then run:
composer require amdadulshakib/installer
Option 2: Use Locally (For development)
Add this to your composer.json
:
"repositories": [ { "type": "path", "url": "packages/amdadulshakib/Installer" } ]
Then install:
composer require amdadulshakib/installer:@dev
โ๏ธ Publish Assets and Views
php artisan vendor:publish --tag=installer-views php artisan vendor:publish --tag=installer-assets
๐ก๏ธ Middleware
This package auto-registers a middleware install.lock
that prevents accessing the app before installation.
You can apply globally using:
$this->app['router']->pushMiddlewareToGroup('web', \amdadulshakib\Installer\Middleware\IsNotInstalled::class);
Middleware Logic:
- If
/storage/installed.lock
does not exist, it redirects to/install
- After successful installation, the lock file is created
- Trying to access
/install
again after installation is blocked
๐งช SQL Import Instead of Migrations
The package does not use migrations. Instead, it imports database.sql
from:
packages/amdadulshakib/Installer/database/database.sql
Place your pre-built SQL dump file here to set up the database during installation.
โ๏ธ Usage Steps
- Visit
/install
- Go through:
- Welcome
- Requirements check
- Environment setup
- Database setup (will import
database.sql
) - Admin user creation
- Finish
- After installation, a
storage/installed.lock
file will be created - Any access to
/install
after installation will be blocked
๐จ Styling
To include CSS or JS:
- Place files in
packages/amdadulshakib/Installer/public/
- Publish them using:
php artisan vendor:publish --tag=installer-assets
- Use in views:
<link rel="stylesheet" href="{{ asset('vendor/installer/css/installer.css') }}"> <script src="{{ asset('vendor/installer/js/installer.js') }}"></script>
๐ฆ License
Open-source and customizable for commercial or private Laravel projects.
โค๏ธ Author
Amdadul Shakib
GitHub Profile