Ready to use SaaS panel with integration of Filament Accounts Builder and JetStream teams
- 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
- Integration With Filament Social Login
- Integration With Filament Two Factory Authentication
- Integration With Wave Themes/Plugins
composer require tomatophp/filament-saas-panelnow 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:installnow you need to publish teams models and account model with injection of teams
php artisan vendor:publish --tag="filament-saas-teams-models"create a new panel for app
php artisan filament:panel appfinally 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()
)if you have User.php published on your /app/Models folder and you don't need to publish it again just add this trait to your model
use \TomatoPHP\FilamentSaasPanel\Traits\InteractsWithTenant;and implament this interfaces
use Filament\Models\Contracts\HasTenants;
use Filament\Models\Contracts\FilamentUser;
use Filament\Models\Contracts\HasAvatar;
use Spatie\MediaLibrary\HasMedia;
class User extends Authenticatable implements FilamentUser, HasAvatar, HasMedia, HasTenants
{
}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"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,
],
],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"if you like to run PEST testing just use this command
composer testif you like to fix the code style just use this command
composer formatif you like to check the code by PHPStan just use this command
composer analyseCheckout our Awesome TomatoPHP
























