Database per team starter kit for Laravel based on Laravel Jetstream and Livewire
First set up a fresh laravel app:
laravel new one-appcomposer create-project "laravel/laravel:^11.0" one-appcd one-appThen you can install the package via composer:
composer require envor/one-appphp artisan one-app:installTo Configure your platform database (aka central or landlord database, etc..)
Add the following key to your .env file:
PLATFORM_DB_CONNECTION=sqliteNote
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=sqliteYou can now test your application to ensure everything is working properly!
php artisan testIf 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.0Important
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:passportThen run migrations
php artisan migrate --path="database/migrations/platform" --database="sqlite"Then run tests again!
php artisan testor
composer testThis thing installs stuff. During development the stubs will have to be tested. What follows are instructions for doing so.
requirements:
- php ^8.2
- composer
- basic working knowledge of git
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.jsonecho "PLATFORM_DB_CONNECTION=sqlite" >> .envecho "one-app/" >> .gitignoregit add . && git commit -m "setup testing environment"SSH
git clone [email protected]:envor/one-app.gitHTTPS
git clone https://github.com/envor/one-app.gitcomposer update "laravel/jetstream" --prefer-dist --no-interaction --no-progress -Wcomposer update "envor/one-app" --prefer-dist --no-interaction --no-progress -Wphp artisan one-app:install -vnpm installnpm run buildphp artisan test8. If you are green, you are good to go. You can now reset your environment to begin making changes.
git reset --hard && git clean -dfcomposer installEdit files in one-app/ directory
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.