envor/one-app

Database per team starter kit for Laravel based on Laravel Jetstream and Livewire
4,328 2
Install
composer require envor/one-app
Latest Version:v1.0.32
PHP:^8.2
License:MIT
Last Updated:Dec 19, 2024
Links: GitHub  ·  Packagist
Maintainer: inmanturbo

There is this one-app ...

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Database per team starter kit for Laravel based on Laravel Jetstream and Livewire

Installation

First set up a fresh laravel app:

Using laravel installer

laravel new one-app

Or using composer

composer create-project "laravel/laravel:^11.0" one-app
cd one-app

Then you can install the package via composer:

composer require envor/one-app
php artisan one-app:install

To Configure your platform database (aka central or landlord database, etc..)

Add the following key to your .env file:

PLATFORM_DB_CONNECTION=sqlite

[!NOTE]
If you use a connection other than sqlite, you will have to ensure you have configured you credentials for the connection

Next, freshen your migrations, using the database/migration/platform path, and the name of your PLATFORM_DB_CONNECTION

php artisan migrate:fresh --path=database/migrations/platform --database=sqlite

You can now test your application to ensure everything is working properly!

php artisan test

SSO (Optional)

If you need it you can set up one-app to use laravel/passport instead of laravel/sanctum which will include a full OAuth2 Server, complete with self-service token and client management ui.

First follow the steps above to install one-app.

Next install headerx/laravel-jetstream-passport

composer require headerx/laravel-jetstream-passport:^1.0

[!IMPORTANT]
Do not run the jetstream-passport:install command from headerx/laravel-jetstream-passport when setting up one-app! one-app has its own command for installing passport (shown below).

Then run one-app:passport command

php artisan one-app:passport

Then run migrations

php artisan migrate --path="database/migrations/platform" --database="sqlite"

Then run tests again!

Testing

php artisan test

or

composer test

Development

This thing installs stuff. During development the stubs will have to be tested. What follows are instructions for doing so.

requirements:

1. Setup Laravel Environment in an empty directory

composer create-project laravel/laravel:11.x-dev .
composer require laravel/jetstream:@dev --no-interaction --no-update
composer require envor/one-app:@dev --no-interaction --no-update
composer config repositories.one-app '{"type": "path", "url": "one-app"}' --file composer.json
echo "PLATFORM_DB_CONNECTION=sqlite" >> .env
echo "one-app/" >> .gitignore
git add . && git commit -m "setup testing environment"

2. Clone the repo

SSH

git clone git@github.com:envor/one-app.git

HTTPS

git clone https://github.com/envor/one-app.git

3. Install dependencies (in root working directory, not one-app)

composer update "laravel/jetstream" --prefer-dist --no-interaction --no-progress -W

4. Install one-app (in root working directory, not one-app)

composer update "envor/one-app" --prefer-dist --no-interaction --no-progress -W
php artisan one-app:install -v

5. Install npm dependencies (in root working directory, not one-app)

npm install

6. Compile Assets (in root working directory, not one-app)

npm run build

7. Execute tests (in root working directory, not one-app)

php artisan test

8. If you are green, you are good to go. You can now reset your environment to begin making changes.

git reset --hard && git clean -df
composer install

9. Make your changes

Edit files in one-app/ directory

10. Test your changes by repeating steps 3-7.

11. Repeat steps 8-10

12. Repeat step 11 as many times as needed.

Changelog

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

License

The MIT License (MIT). Please see License File for more information.

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

637,827,751 9,703
laravel/framework

The Laravel Framework.

589,172,971 34,950
laravel/tinker

Powerful REPL for the Laravel framework.

498,216,183 7,442
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

413,412,504 609
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

394,964,158 4,660

Version History

Version Released PHP Laravel License
v1.0.32 ^8.2 ^11.0 MIT
v1.0.31 ^8.2 ^11.0 MIT
v1.0.30 ^8.2 ^11.0 MIT
v1.0.29 ^8.2 ^11.0 MIT
v1.0.28 ^8.2 ^11.0 MIT