A Laravel package for installing xgenious script easily with a visual installer

composer require xgenious/installerphp artisan vendor:publish --provider="Xgenious\Installer\InstallerServiceProvider" --tag="config"\Xgenious\Installer\Http\Middleware\InstallerMiddleware::class
example
protected $middleware = [
/* Laravel defult middleware */
\Xgenious\Installer\Http\Middleware\InstallerMiddleware::class
];# config/installer.php
return [
'app_name' => 'Fundorex', //app name
'super_admin_role_id' => 3, // super admin role id
'admin_model' => \App\Admin::class, //admin modal
'admin_table' => 'admins', //admin table
'multi_tenant' => false,
'author' => 'xgenious', // envato author username
'product_key' => '8de1f072836b127749b7aa2b575ffc0002ade20e', //product key from xgenious license server
'php_version' => '8.1', //minimum required php version
'database_type' => 'mysql', // mysql or pgsql (depending on product database type)
'extensions' => ['BCMath', 'Ctype', 'JSON', 'Mbstring', 'OpenSSL', 'PDO', 'pdo_mysql', 'Tokenizer', 'XML', 'cURL', 'fileinfo'], //required php extensions
'website' => 'https://xgenious.com', //author website url
'email' => 'support@xgenious.com', //support url
'env_example_path' => public_path('env-sample.txt'), //env-sample.txt file locaation, env will be generate based on this file contenant
'broadcast_driver' => 'log', // default config value
'cache_driver' => 'file', // default config value
'queue_connection' => 'sync', // default config value
'mail_port' => '587', // default config value
'mail_encryption' => 'tls', // default config value
'model_has_roles' => true,
'bundle_pack' => false, //if the product has bundle pack
'bundle_pack_key' => 'dsfasd', //bundle pack product key
];remove install folder, and remove install folder redirection from the root index.php file
here is example of minimal .env file.
APP_NAME=Fundorex
APP_ENV=production
APP_KEY=base64:8e5wSFpua5CzuHhXJEaJHcpRFBR2nqLAV0zTURuXgLA=
APP_DEBUG=false
APP_URL=http://fundorex.test/To run the test suite for this package, follow these steps:
Ensure you have the package and its dependencies installed:
composer installCopy the package's phpunit.xml.dist file to phpunit.xml:
cp phpunit.xml.dist phpunit.xmlRun the tests using PHPUnit:
./vendor/bin/phpunitOr, if you've set up the Composer script, you can use:
composer testFor a coverage report, run:
./vendor/bin/phpunit --coverage-html coverageThis will generate an HTML coverage report in the coverage directory.
The tests use an in-memory SQLite database by default. If you need to use a different database for testing, update the phpunit.xml file accordingly.
Some tests may require specific environment variables to be set. Check the phpunit.xml file and set any necessary variables in your local environment or in the phpunit.xml file.
If you encounter any issues running the tests, ensure that all dependencies are properly installed and that your PHP environment meets the package requirements.
When adding new features or fixing bugs, please add corresponding test cases. Place new test files in the tests directory, following the existing structure:
Unit tests go in tests/Unit
Feature tests go in tests/Feature
Ensure that your test class extends
Xgenious\Installer\Tests\TestCase.
If you need to add new test dependencies, add them to the require-dev section of the composer.json file.
When the .env file is not found in your Laravel application, this package will automatically display the installation wizard.