A comprehensive Laravel package for integrating with Supabase services including Auth, Database, Storage, and Realtime.
You can install the package via composer:
composer require saeedvir/supabasePublish the configuration file:
php artisan vendor:publish --provider="Saeedvir\Supabase\SupabaseServiceProvider" --tag="supabase-config"Add your Supabase credentials to your .env file:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your-supabase-public-key
SUPABASE_SECRET=your-supabase-secret-key- go to supabase Dashboard
- select your project
- go to "Project Settings"
- go to "Data API"
- copy "Project URL" as "SUPABASE_URL"
- go to "API KEY"
- copy "service_role" secret key as "SUPABASE_KEY"
- then
php artisan config:clear
use Saeedvir\Supabase\Facades\Supabase;
// Database operations
$users = Supabase::db()->select('users', '*', ['active' => true]);
// Auth operations
$result = Supabase::auth()->signIn('user@example.com', 'password');
// Storage operations
$result = Supabase::storage()->upload('avatars', 'user-avatar.png', '/path/to/local/file.png');
// Realtime operations
$url = Supabase::realtime()->channelUrl('public', 'users');use Saeedvir\Supabase\Services\SupabaseService;
$supabase = new SupabaseService();
// Database operations
$users = $supabase->db->select('users', '*', ['active' => true]);
// Auth operations
$result = $supabase->auth->signIn('user@example.com', 'password');- User signup and signin
- Password reset
- User management
- Session management
- Select, insert, update, delete operations
- Filtering and ordering
- RPC function calls
- File upload and download
- File management (move, copy, delete)
- Signed URLs for private files
- Public and authenticated URLs
- WebSocket channel URLs
- Client connection helpers
- JavaScript snippets for frontend integration
You can customize the package behavior by modifying the config/supabase.php file:
- Enable/disable specific services
- Configure HTTP client settings (timeout, retries)
- Set API keys and secrets
- PHP ^8.0
- Laravel ^11.0|^12.0
- GuzzleHTTP ^7.0
The MIT License (MIT). Please see License File for more information.
