https://github.com/jmrashed/laravel-installer
A complete web installer for Laravel applications, making the setup process simple and user-friendly.
https://github.com/jmrashed/laravel-installer
installer laravel laravel-installation laravel-package laravel-setup web-installer
Last synced: 4 months ago
JSON representation
A complete web installer for Laravel applications, making the setup process simple and user-friendly.
- Host: GitHub
- URL: https://github.com/jmrashed/laravel-installer
- Owner: jmrashed
- License: mit
- Created: 2024-10-18T05:03:57.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-18T09:06:29.000Z (about 1 year ago)
- Last Synced: 2024-10-29T14:21:29.153Z (about 1 year ago)
- Topics: installer, laravel, laravel-installation, laravel-package, laravel-setup, web-installer
- Language: PHP
- Homepage: https://packagist.org/packages/jmrashed/laravel-installer
- Size: 1.46 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Laravel Installer
[](https://packagist.org/packages/jmrashed/laravel-installer) [](https://packagist.org/packages/jmrashed/laravel-installer) [](https://packagist.org/packages/jmrashed/laravel-installer) [](https://packagist.org/packages/jmrashed/laravel-installer) [](https://github.com/jmrashed/laravel-installer) [](https://github.com/jmrashed/laravel-installer)
**Laravel Installer** is a complete package designed to simplify the installation process for Laravel projects. This installer handles system requirement checks, environment configuration, database setup, and purchase code validation.
---
## π Statistics
- **Total Downloads**: 
- **Monthly Downloads**: 
- **GitHub Stars**: 
- **GitHub Forks**: 
---
## π Features
- **System Requirements Check**: Automatically verifies PHP version and required extensions.
- **Environment File Setup**: Helps create and configure the `.env` file.
- **Database Configuration**: Offers the option to run migrations, seeders, or import an SQL dump.
- **Purchase Code Validation**: Built-in validation for purchase codes.
- **User-Friendly Interface**: A guided step-by-step installation process with a simple interface.
---
## π οΈ Installation
To install the package, run the following command:
```bash
composer require jmrashed/laravel-installer
```
Then, publish the configuration file:
```bash
php artisan vendor:publish --provider="Jmrashed\LaravelInstaller\Providers\LaravelInstallerServiceProvider"
php artisan vendor:publish --tag=installer-config
```
---
## π How to Use
After installation, run the installer using:
```bash
php artisan installer:run
```
The installer will guide you through these steps:
1. **System Requirements Check**: Ensures the necessary PHP version and extensions are installed.
2. **Environment File Setup**: Prompts for database credentials and generates the `.env` file.
3. **Database Setup**: Choose to run migrations and seeders or import a SQL dump.
4. **Purchase Code Validation**: If enabled, the user is required to enter their purchase code.
5. **Completion**: Confirms successful installation.
---
## envato validation
sample api response from your existing website
```json
{
"message": "Welcome to the Envato Purchase Validation API",
"account1": {
"token": "fsHuTBwXZTlEqZYQacniBeNZFCrT01eZ"
},
"account2": {
"token": "aGPUug8SeQagLaSDZ3LXdKQ8x0hHNtlc"
},
"validation": {
"url": "https://api.envato.com/v3/market/author/sale"
}
}
```
### Update your api endpoint
To get barrier token update the API endpoint
```php
$envatoApiTokenUrl = 'http://your-domain.com/api/get-envato-barrier-token';
```
To Store verification data to your application update the API endpoint
```php
$envatoApiStoreUrl = 'http://your-domain.com/api/store-envato-verification-response';
```
Sample response
```json
{
"amount": "32.06",
"sold_at": "2024-01-28T15:21:32+11:00",
"license": "Regular License",
"support_amount": "0.00",
"supported_until": null,
"item": {
"id": 1234567890,
"name": "product Title",
"number_of_sales": 169,
"author_username": "author_username",
"author_url": "https://codecanyon.net/user/author_username",
"url": "https://codecanyon.net/item/product/34567890",
"site": "codecanyon.net",
"classification": "mobile/flutter",
"classification_url": "https://codecanyon.net/category/mobile/flutter",
"price_cents": 11900,
"author_image": "https://s3.envato.com/files/396614067/80x80.jpg",
"summary": "Software Version: Flutter 2.x, Flutter 1.x, Other",
"published_at": "2022-06-14T01:38:25+10:00",
"trending": false
},
"buyer": "keosovannboravann",
"purchase_count": 1
}
```
## π Directory Structure
Hereβs a simplified structure of the project directories and key files:
```text
- π src/
- π Config/
- π installer.php
- π Controllers/
- π DatabaseController.php
- π EnvironmentController.php
- π Events/
- π EnvironmentSaved.php
- π LaravelInstallerFinished.php
- π Helpers/
- π DatabaseManager.php
- π EnvironmentManager.php
- π Middleware/
- π canInstall.php
- π canUpdate.php
- π Providers/
- π LaravelInstallerServiceProvider.php
- π Routes/
- π web.php
- π Views/
- π layouts/
- π master-update.blade.php
- π master.blade.php
- π update/
- π finished.blade.php
- π overview.blade.php
- π environment-classic.blade.php
- π environment-wizard.blade.php
- π assets/
- π css/
- π style.css
- π style.css.map
- π fonts/
- π FontAwesome.otf
- π fontawesome-webfont.eot
- π img/
- π favicon/
- π favicon-16x16.png
- π favicon-32x32.png
- π background.png
- π pattern.png
- π LICENSE
- π README.md
```
---
## βοΈ Configuration
The published configuration file can be found at:
```
config/installer.php
```
This allows you to customize checks and paths, such as setting the SQL dump path for import during installation.
---
## π₯ Purchase Code Validation
If your system requires purchase code validation, you can customize the validation logic in the `validatePurchaseCode` function. Hereβs an example:
```php
if (!$this->validatePurchaseCode($code)) {
throw new Exception('Invalid purchase code.');
}
```
---
## π· Screenshots
| **Welcome Screen** | **Database Setup** | **Purchase Code Validation** |
|----------------------------|------------------------------|------------------------------|
|  |  |  |
---
## π§ System Requirements
To ensure the Laravel Installer works as expected, your environment must meet the following requirements:
- **PHP**: 8.0 or higher
- **Laravel**: 9.0 or higher
- **PHP Extensions**:
- `mbstring`
- `openssl`
- `pdo`
- `tokenizer`
- `xml`
- `ctype`
- `json`
---
## Force Publishing
```bash
php artisan vendor:publish --tag=laravelinstaller --force
```
## π€ Contributing
Contributions are welcome! If you want to contribute:
1. Fork the repository.
2. Create a new feature branch: `git checkout -b feature-branch`.
3. Commit your changes: `git commit -m 'Add new feature'`.
4. Push to the branch: `git push origin feature-branch`.
5. Open a pull request on GitHub.
---
## π License
This package is licensed under the [MIT license](LICENSE.md).
---
## π¬ Support
For support, feel free to open an issue on the [GitHub repository](https://github.com/jmrashed/laravel-installer/issues) or contact us directly.