Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 16 days 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 (28 days ago)
- Default Branch: main
- Last Pushed: 2024-10-18T08:08:58.000Z (28 days ago)
- Last Synced: 2024-10-18T08:24:32.139Z (28 days ago)
- Topics: installer, laravel, laravel-installation, laravel-package, laravel-setup, web-installer
- Language: PHP
- Homepage:
- Size: 1.43 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
[![Latest Stable Version](https://poser.pugx.org/jmrashed/laravel-installer/v/stable)](https://packagist.org/packages/jmrashed/laravel-installer) [![Total Downloads](https://poser.pugx.org/jmrashed/laravel-installer/downloads)](https://packagist.org/packages/jmrashed/laravel-installer) [![Monthly Downloads](https://poser.pugx.org/jmrashed/laravel-installer/d/monthly)](https://packagist.org/packages/jmrashed/laravel-installer) [![License](https://poser.pugx.org/jmrashed/laravel-installer/license)](https://packagist.org/packages/jmrashed/laravel-installer) [![Stars](https://img.shields.io/github/stars/jmrashed/laravel-installer.svg?style=social&label=Stars)](https://github.com/jmrashed/laravel-installer) [![Forks](https://img.shields.io/github/forks/jmrashed/laravel-installer.svg?style=social&label=Forks)](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**: ![Total Downloads](https://poser.pugx.org/jmrashed/laravel-installer/downloads)
- **Monthly Downloads**: ![Monthly Downloads](https://poser.pugx.org/jmrashed/laravel-installer/d/monthly)
- **GitHub Stars**: ![Stars](https://img.shields.io/github/stars/jmrashed/laravel-installer.svg?style=social)
- **GitHub Forks**: ![Forks](https://img.shields.io/github/forks/jmrashed/laravel-installer.svg?style=social)---
## π 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 --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.---
## π 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** |
|----------------------------|------------------------------|------------------------------|
| ![Welcome](path_to_screenshot) | ![DB Setup](path_to_screenshot) | ![Purchase Code](path_to_screenshot) |---
## π§ 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`---
## π€ 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.
### Click the Image Below for Documentation
[![Documentation Image](./documentation.png)](DOCUMENTATION.md)