tomatophp / filament-saas-panel
Ready to use SaaS panel with integration of Filament Accounts Builder and JetStream teams
Fund package maintenance!
3x1io
Requires
- php: ^8.1|^8.2
- filament/filament: ^3.2
- filament/spatie-laravel-media-library-plugin: ^3.2
- laravel/jetstream: *
- laravel/sanctum: *
- tomatophp/console-helpers: ^1.1
- tomatophp/filament-accounts: ^2.3
Requires (Dev)
- laravel/pint: ^1.18
- livewire/livewire: ^2.10|^3.0
- nunomaduro/larastan: ^2.9
- orchestra/testbench: ^9.5
- pestphp/pest: ^2.36
- pestphp/pest-plugin-laravel: ^2.4
- pestphp/pest-plugin-livewire: ^2.1
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-deprecation-rules: ^1.2
- phpstan/phpstan-phpunit: ^1.4
This package is auto-updated.
Last update: 2024-11-04 16:53:22 UTC
README
Filament SaaS Panel
Ready to use SaaS panel with integration of Filament Accounts Builder and JetStream teams
Features
- Login Page
- Register with OTP
- Login Check if Account Active or Blocked
- Create Team Page
- Edit Team Page
- Team Members List
- Team Invitation
- Delete Team
- Edit Profile
- Change Profile Password
- Browser Session Manager
- Delete Account
- API Tokens
- Team Resource
- Teams Account Table Column
- Teams Account Table Action
- Teams Account Table Bulk Action
- Teams Account Table Filter
- Teams Account Form Component
- Integration With Filament Social Login
- Integration With Filament Two Factory Authentication
- Integration With Wave Themes/Plugins
Screenshot Teams
Screenshot Account Team Components
Screenshots Auth Process
Screenshot Panel
Screenshot Edit Teams
Screenshots Edit Profile
Screenshot API Tokens
Installation
composer require tomatophp/filament-saas-panel
now you need to publish teams migration
php artisan vendor:publish --tag="filament-saas-teams-migrations"
after install your package please run this command
php artisan filament-saas-panel:install
now you need to publish teams models and account model with injection of teams
php artisan vendor:publish --tag="filament-saas-teams-models" php artisan vendor:publish --tag="filament-saas-account-model"
create a new panel for app
php artisan filament:panel app
finally register the plugin on /app/Providers/Filament/AppPanelProvider.php
->plugin( \TomatoPHP\FilamentSaasPanel\FilamentSaasPanelPlugin::make() ->editTeam() ->deleteTeam() ->showTeamMembers() ->teamInvitation() ->allowTenants() ->checkAccountStatusInLogin() ->APITokenManager() ->editProfile() ->editPassword() ->browserSessionManager() ->deleteAccount() ->editProfileMenu() ->registration() ->useOTPActivation() )
on your admin panel provider if you like to have Team resource and features register this
->plugin( \TomatoPHP\FilamentSaasPanel\FilamentSaasTeamsPlugin::make() ->allowAccountTeamTableAction() ->allowAccountTeamTableBulkAction() ->allowAccountTeamFilter() ->allowAccountTeamFormComponent() ->allowAccountTeamTableColumn() )
Change Panel ID
if you like to change the panel name on your config just change id
and name
on config/filament-saas-panel.php
return [ "id" => "user" ];
you can publish it from this command
php artisan vendor:publish --tag="filament-saas-panel-config"
Custom Pages
you can change any page you want on the panel using the config like this
'pages' => [ 'teams' => [ 'create' => \TomatoPHP\FilamentSaasPanel\Filament\Pages\CreateTeam::class, 'edit' => \TomatoPHP\FilamentSaasPanel\Filament\Pages\EditTeam::class, ], 'profile' => [ 'edit' => \TomatoPHP\FilamentSaasPanel\Filament\Pages\EditProfile::class, ], 'auth' => [ 'login' => \TomatoPHP\FilamentSaasPanel\Filament\Pages\Auth\LoginAccount::class, 'register' => \TomatoPHP\FilamentSaasPanel\Filament\Pages\Auth\RegisterAccount::class, 'register-without-otp' => \TomatoPHP\FilamentSaasPanel\Filament\Pages\Auth\RegisterAccountWithoutOTP::class, ], ],
Publish Assets
you can publish config file by use this command
php artisan vendor:publish --tag="filament-saas-panel-config"
you can publish views file by use this command
php artisan vendor:publish --tag="filament-saas-panel-views"
you can publish languages file by use this command
php artisan vendor:publish --tag="filament-saas-panel-lang"
you can publish migrations file by use this command
php artisan vendor:publish --tag="filament-saas-panel-migrations"
Testing
if you like to run PEST
testing just use this command
composer test
Code Style
if you like to fix the code style just use this command
composer format
PHPStan
if you like to check the code by PHPStan
just use this command
composer analyse
Other Filament Packages
Checkout our Awesome TomatoPHP