Download the PHP package sabitahmadumid/laravel-launchpad without Composer
On this page you can find all versions of the php package sabitahmadumid/laravel-launchpad. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sabitahmadumid/laravel-launchpad
More information about sabitahmadumid/laravel-launchpad
Files in sabitahmadumid/laravel-launchpad
Package laravel-launchpad
Short Description Laravel Installation and Update Wizard Package - Ship your Laravel web app easily with automated installation and update wizards
License MIT
Homepage https://github.com/sabitahmadumid/laravel-launchpad
Informations about the package laravel-launchpad
🚀 Laravel Launchpad
Laravel Launchpad is a comprehensive installation and update wizard package that makes it incredibly easy for developers to ship their Laravel applications and for end-users to install them. With professional UI components, license validation, environment checking, and a streamlined automatic process, Launchpad transforms complex deployments into simple, guided experiences.
Perfect for SaaS applications, commercial Laravel products, or any Laravel application that needs professional installation and update capabilities.
📸 Screenshots
📝 Note: Screenshots show the default Tailwind CSS styling. All views are fully customizable through Blade templates.
✨ Features
- 🎯 Automatic Installation Wizard - 5-step guided installation process with automatic configuration-based setup
- 🔄 Automatic Update Wizard - 5-step guided update process with automatic version upgrades
- 🌍 Multi-Language Support - Built-in internationalization system, easily extendable to any language
- ⚠️ Mutually Exclusive Modes - Installation and update wizards are designed to run independently (never simultaneously)
- 🤖 Configuration-Driven Flow - No user choices required - all operations automatic based on configuration
- 🔒 Auto-Security - Installation/update routes automatically disabled after successful completion
- 🛡️ License Validation - Flexible license verification system with external server support
- ⚙️ Environment Checking - PHP version, extensions, and directory permissions validation
- 🎨 Professional UI - Modern, responsive interface built with Tailwind CSS and Alpine.js
- 🔄 Language Switcher - Beautiful dropdown with flag icons and native language names
- 🔧 Self-Contained Configuration - All settings managed in config files, minimal environment dependencies
- 🏗️ Clean Architecture - Service-oriented design with proper separation of concerns
- 📱 Mobile Responsive - Works perfectly on all devices and screen sizes
- 🎉 User Experience - Smooth animations, progress indicators, and celebration effects
📋 Requirements
- PHP 8.1 or higher
- Laravel 10.0 or higher
- Composer
📦 Installation
Install the package via Composer:
Publish the configuration file:
Optionally, publish the views for customization:
Optionally, publish the language files for customization:
Or use the dedicated command:
🌍 Internationalization (i18n)
Laravel Launchpad supports multiple languages out of the box, making it perfect for global applications.
🗣️ Supported Languages
- English (en) - Default language
- Multiple Languages - Easily add any language with simple translation files
🚀 Quick Start with Languages
The package automatically detects and applies user language preferences. No additional setup required!
🎛️ Language Features
- 🔄 Dynamic Language Switching - Users can switch languages during installation/update
- 🎨 Beautiful Language Switcher - Dropdown with flag icons and native names
- 📱 RTL Support Ready - Infrastructure for right-to-left languages
- 🔤 Smart Fallbacks - Falls back to English if translation missing
- 💾 Session Persistence - Remembers user's language choice
📁 Language File Structure
🛠️ Adding Custom Languages
-
Publish language files:
-
Create new language directory:
-
Copy and translate files:
- Update configuration:
🎯 Language Configuration Options
🔧 Programmatic Language Control
🌐 API Endpoints
🔒 License System
Laravel Launchpad includes a robust license validation system that automatically handles license key storage during the installation and update process. Users simply enter their license key during setup, and the system handles everything automatically.
Quick Setup
-
Publish the license validator:
-
Configure your environment:
- For development, disable license checks:
How It Works
During Installation/Update Flow
- User enters license key in the installation or update wizard
- System validates the license with your license server
- Automatic storage - If valid, the license key is automatically saved to the project's
.envfile - Future verification - The
isLicenseVerified()method automatically checks the stored license
For Developers (Simple API)
Security Features
- Automatic Environment Storage: License keys automatically saved to
.envfile during verification - Encrypted Local Backup: Secondary encrypted storage with restricted permissions
- Bypass Protection: Cannot be easily disabled via config manipulation in production
- Grace Period: Temporary failures don't immediately block access
- Retry Mechanism: Automatic retry with exponential backoff for network issues
- 🔒 Secure by Default - Hard to bypass for normal users
- 👨💻 Developer Friendly - Easy disable options and development keys
- 🎛️ Route-Specific Control - Disable license checks for specific routes
- 🔄 Flexible Validation - Support for multiple license server types
- 💾 Encrypted Storage - Secure bypass file storage
- 🌍 Domain Binding - License validation tied to specific domains
Development License Keys
For local development, these keys work automatically:
dev-license-keylocal-developmenttesting-licensebypass-license-check
License Commands
Basic License Management
Advanced License Management
Local Development Commands
Note: Local enforcement commands only work in local development environment and use encrypted flags for security.
Envato CodeCanyon Integration
Create a custom validator for Envato CodeCanyon products:
Environment Configuration for Envato:
Custom License Server Integration
Create a validator that connects to your own license server:
Environment Configuration for Custom Server:
Example License Server Response:
Environment Configuration
Custom License Validators
⚙️ Configuration
The package comes with a comprehensive configuration file located at config/launchpad.php. Most settings can be controlled via environment variables for better security and deployment management.
Basic Settings
Dynamic Fields
You can add custom fields to the admin creation step:
Database Setup Methods
⚠️ IMPORTANT: Database Import Conflicts
SQL Dumps and Migrations are mutually exclusive and should NEVER be enabled simultaneously. This would cause database conflicts and unpredictable behavior. Choose the appropriate method based on your application structure:
- SQL Dump Method: For applications with complex initial data or specific database structure
- Migrations Method: For applications using Laravel's migration system
Method 1: SQL Dump Import (Recommended for Complex Apps)
When to use: Applications with complex initial data, views, stored procedures, or non-Laravel database structures.
Setup Steps:
- Create Database Dump: Export your complete database structure and data
- Place Dump File: Save as
database/dump.sql(or configure custom path) - Configure Settings: Enable dump import, disable migrations
- Test Import: Ensure dump file imports successfully
Advantages:
- ✅ Handles complex database structures
- ✅ Includes initial data and configurations
- ✅ Faster installation for large datasets
- ✅ Works with non-Laravel database designs
Method 2: Laravel Migrations (Recommended for Standard Laravel Apps)
When to use: Standard Laravel applications using migration system for database structure.
Setup Steps:
- Prepare Migrations: Ensure all migration files are ready
- Create Seeders: Prepare initial data seeders (optional)
- Configure Settings: Enable migrations, disable dump import
- Test Migrations: Verify migrations run successfully
Advantages:
- ✅ Version-controlled database changes
- ✅ Laravel-native approach
- ✅ Easier to maintain and update
- ✅ Better for team development
Update Process Database Methods
For updates, you can also choose between SQL dumps or migrations:
Database Configuration Examples
Example 1: E-commerce App with Complex Data
Example 2: Standard Laravel CRM
Example 3: Legacy Database Integration
🎯 Usage
⚠️ IMPORTANT: Installation vs Update Modes
Installation and Update wizards are mutually exclusive and should NEVER be enabled simultaneously. This would create routing conflicts and confuse users. Choose the appropriate mode based on your deployment phase:
- Installation Mode: For fresh deployments (new installs)
- Update Mode: For existing installations (version updates)
All installation and update operations are now completely automatic - no user choices or checkboxes! The system automatically:
- ✅ Runs all enabled operations from configuration
- ✅ Disables routes after completion for security
- ✅ Updates config files directly (no env dependencies)
- ✅ Provides clear progress feedback to users
- ✅ Handles errors gracefully with proper messaging
Installation Mode (For New Deployments)
When to use: Deploying your Laravel application for the first time to end users.
Configuration:
Setup Steps:
- Configure Settings - Set operations in
config/launchpad.php - Set License Validation - Configure your license server (optional)
- Deploy Application - Upload files WITHOUT running migrations
- Share Install URL - Provide users with
https://yourapp.com/install
Installation Flow - Users experience this automatic process:
- Welcome & Overview - Introduction to the automatic installation process
- Environment Check - Validates PHP version, extensions, and permissions
- License Validation - Verifies license key (if enabled)
- Database Setup - AUTOMATIC: Runs all configured database operations
- Admin Creation - Creates the administrator account
- Success - Installation completion + routes automatically disabled
Update Mode (For Existing Installations)
When to use: Updating an already installed Laravel application to a newer version.
Configuration:
Setup Steps:
- Switch to Update Mode - Disable installation, enable updates
- Upload New Files - Replace application files with new version
- Update Version - Set
current_versionin config - Share Update URL - Provide users with
https://yourapp.com/update
Update Flow - Users experience this automatic process:
- Update Overview - Shows current and target versions
- Environment Check - Ensures environment compatibility
- License Verification - Validates license for updates
- Update Process - AUTOMATIC: Runs all configured update operations
- Success - Update completion + routes automatically disabled
Deployment Workflow Examples
Scenario 1: Initial Product Launch
Scenario 2: Releasing Update v1.1.0
Scenario 3: Supporting Both (NOT RECOMMENDED)
Configuration Management
Self-Contained Approach: All settings are managed directly in the config file for better version control and deployment:
Only APP_NAME uses environment:
Automatic Route Security: After successful installation/update completion:
- Installation routes automatically disabled (
installation.enabled→false) - Update routes automatically disabled (
update.enabled→false) - Config file updated and cached automatically
- No manual intervention required
Middleware Protection
The package includes middleware to:
- Redirect to installation if not installed
- Prevent access to installation if already installed
- Protect update routes based on configuration
Programmatic Usage
You can also interact with the package programmatically:
🛡️ Security
The package includes several security measures:
- Installation tracking prevents re-installation
- Middleware protection controls access to wizard routes
- Environment validation ensures secure configuration
- License validation prevents unauthorized usage
- Routes automatically disabled after successful completion
🔧 Troubleshooting
Common Issues
Both Installation and Update Enabled
Both SQL Dump and Migrations Enabled
Routes Not Automatically Disabled
If routes remain accessible after completion:
Config Changes Not Taking Effect
🎉 Version 2.0 Key Improvements
🤖 Fully Automatic Operation Flow
- No User Checkboxes: Configuration determines all operations
- Streamlined Flow: "Start Automatic Installation/Update" buttons
- Consistent Experience: Same flow every time based on your config
- Error-Free: No risk of users choosing wrong options
🔒 Enhanced Security & Management
- Auto-Disable Routes: Installation/update routes disabled after completion
- Config File Management: Direct config file updates instead of env dependencies
- Self-Contained: All settings in version-controlled config files
- Runtime Updates: Both file and memory config updated simultaneously
⚙️ Simplified Configuration
- Single Source of Truth: All settings in
config/launchpad.php - Version Control Friendly: Config changes tracked in git
- Deployment Friendly: No env file manipulation required
- Only APP_NAME env dependency: Everything else config-based
🚀 Developer Experience Improvements
- Automatic Mode Switching: Routes disable themselves after completion
- Clear Progress Indicators: Users see exactly what's happening
- Better Error Handling: Graceful failures with helpful messages
- Simpler Deployment: Update config, deploy files, share URL
Please see CHANGELOG for more information on what has changed recently.
🤝 Contributing
Please see CONTRIBUTING for details.
🔒 Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
👨💻 Credits
- Sabit Ahmad
- All Contributors
📄 License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-launchpad with dependencies
spatie/laravel-package-tools Version ^1.16
illuminate/contracts Version ^11.0||^12.0
guzzlehttp/guzzle Version ^7.0