envor / one-app
Database per team starter kit for Laravel based on Laravel Jetstream and Livewire
Installs: 1 517
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 2
Open Issues: 1
Requires
- php: ^8.2
- envor/laravel-datastore: ^1.2.14
- envor/laravel-schema-macros: ^1.1
- envor/platform: ^1.6
- headerx/laravel-jetstream-passport: ^1.0
- illuminate/contracts: ^11.0
- inmanturbo/turbohx: ^1.1
- laravel/jetstream: ^5.0@dev
- laravel/pennant: ^1.7
- laravel/sanctum: ^4.0@dev
- laravel/tinker: ^2.9
- livewire/livewire: ^3.4
- livewire/volt: ^1.6
- spatie/laravel-navigation: ^1.2
- spatie/laravel-package-tools: ^1.16.2
Requires (Dev)
- larastan/larastan: *
- laravel/octane: ^2.3
- laravel/pint: *
- nunomaduro/collision: *
- orchestra/testbench: ^9.0
- pestphp/pest: ^2.33
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.2
- spatie/docker: ^1.12
- dev-main
- 1.x-dev
- v1.0.31
- v1.0.30
- v1.0.29
- v1.0.28
- v1.0.27
- v1.0.26
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-dependabot/composer/envor/laravel-datastore-tw-2.0.0
This package is auto-updated.
Last update: 2024-11-07 18:08:08 UTC
README
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:
- php ^8.2
- composer
- basic working knowledge of git
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.