Skip to content

Commit

Permalink
first commit 🔥
Browse files Browse the repository at this point in the history
  • Loading branch information
3x1io committed Nov 4, 2024
1 parent afcb271 commit 3a3725b
Show file tree
Hide file tree
Showing 28 changed files with 126 additions and 5 deletions.
File renamed without changes.
129 changes: 125 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,100 @@
![Screenshot](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/art/screenshot.jpg)
![Screenshot](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/3x1io-tomato-saas-panel.jpg)

# Filament saas panel
# Filament SaaS Panel

[![Latest Stable Version](https://poser.pugx.org/tomatophp/filament-saas-panel/version.svg)](https://packagist.org/packages/tomatophp/filament-saas-panel)
[![License](https://poser.pugx.org/tomatophp/filament-saas-panel/license.svg)](https://packagist.org/packages/tomatophp/filament-saas-panel)
[![Downloads](https://poser.pugx.org/tomatophp/filament-saas-panel/d/total.svg)](https://packagist.org/packages/tomatophp/filament-saas-panel)

Ready to use SaaS panel with integration of Filament Accounts Builder and JetStream teams

## Screenshot Teams

![Team List](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/team-list.png)
![Create Team](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/create-team.png)
![Edit Team](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/edit-team.png)

## Screenshot Account Team Components

![Account Team Form Component](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/team-form.png)
![Account Team Table Column](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/team-table.png)
![Account Team Table Action](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/team-action.png)


## Screenshots Auth Process

![Login](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/login.png)
![OTP Screen](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/otp.png)
![Register](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/register.png)
![Create Tenant](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/create-tenant.png)

## Screenshot Panel

![Panel](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/panel.png)
![Panel Tenant Menu](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/panel-tenant-menu.png)

## Screenshot Edit Teams

![Team Invite](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/team-invite.png)
![Team Members](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/team-members.png)
![Team Settings](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/team-settings.png)
![Team Settings Not Owner](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/team-settings-not-owner.png)

## Screenshots Edit Profile

![Edit Profile](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/edit-profile.png)
![Change Password](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/change-password.png)
![Delete Modal](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/delete-modal.png)
![Logout Modal](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/logout-modal.png)
![Session & Delete Account](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/session-delete.png)

## Screenshot API Tokens

![API Tokens](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/api-tokens.png)
![Create Token](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/create-token.png)
![Token Modal](https://raw.githubusercontent.com/tomatophp/filament-saas-panel/master/arts/token-modal.png)

## Installation

```bash
composer require tomatophp/filament-saas-panel
```

now you need to publish teams migration

```bash
php artisan vendor:publish --tag="filament-saas-teams-migrations"
```

after install your package please run this command

```bash
php artisan filament-saas-panel:install
```

finally register the plugin on `/app/Providers/Filament/AdminPanelProvider.php`
now you need to publish teams models and account model with injection of teams

```bash
php artisan vendor:publish --tag="filament-saas-teams-models"
php artisan vendor:publish --tag="filament-saas-account-model"
```

create a new panel for `app`

```bash
php artisan filament:panel app
```

finally register the plugin on `/app/Providers/Filament/AppPanelProvider.php`

```php
->plugin(
\TomatoPHP\FilamentSaasPanel\FilamentSaasPanelPlugin::make()
->editTeam()
->deleteTeam()
->showTeamMembers()
->teamInvitation()
->allowTenants()
->checkAccountStatusInLogin()
->APITokenManager()
->editProfile()
Expand All @@ -32,10 +103,60 @@ finally register the plugin on `/app/Providers/Filament/AdminPanelProvider.php`
->deleteAccount()
->editProfileMenu()
->registration()
->useOTPActivation(),
->useOTPActivation()
)
```

on your admin panel provider if you like to have Team resource and features register this

```php
->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`

```php
return [
"id" => "user"
];
```

you can publish it from this command

```bash
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

```php
'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
Expand Down
Binary file added arts/3x1io-tomato-saas-panel.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/api-tokens.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/change-password.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/create-team.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/create-tenant.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/create-token.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/delete-modal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/edit-profile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/edit-team.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/login.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/logout-modal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/otp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/panel-tenant-menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/panel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/register.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/session-delete.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/team-form.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/team-invite.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/team-members.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/team-settings-not-owner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/team-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/team-table.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/teams-action.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/teams-list.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arts/token-modal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/FilamentSaasPanelServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public function register(): void
__DIR__.'/../publish/Team.php' => app_path('Models/Team.php'),
__DIR__.'/../publish/TeamInvitation.php' => app_path('Models/TeamInvitation.php'),
__DIR__.'/../publish/Membership.php' => app_path('Models/Membership.php'),
], 'filament-saas-teams');
], 'filament-saas-teams-models');

$this->publishes([
__DIR__.'/../publish/Account.php' => app_path('Models/Account.php'),
Expand Down

0 comments on commit 3a3725b

Please sign in to comment.