Database per team starter kit for Laravel based on Laravel Jetstream and Livewire
First set up a fresh laravel app:
laravel new one-app
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
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!
php artisan test
or
composer test
This 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.json
echo "PLATFORM_DB_CONNECTION=sqlite" >> .env
echo "one-app/" >> .gitignore
git add . && git commit -m "setup testing environment"
SSH
git clone git@github.com:envor/one-app.git
HTTPS
git clone https://github.com/envor/one-app.git
composer update "laravel/jetstream" --prefer-dist --no-interaction --no-progress -W
composer update "envor/one-app" --prefer-dist --no-interaction --no-progress -W
php artisan one-app:install -v
npm install
npm run build
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
Edit 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.