saeedvir/supabase

A Laravel package for integrating with Supabase services

Installs: 18

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/saeedvir/supabase

v1.0 2025-11-12 07:04 UTC

This package is auto-updated.

Last update: 2025-11-12 08:09:06 UTC


README

alt text

A comprehensive Laravel package for integrating with Supabase services including Auth, Database, Storage, and Realtime.

Installation

You can install the package via composer:

composer require saeedvir/supabase

Configuration

Publish 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

Get URL & 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

Usage

Using the Facade

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');

Using the Service Directly

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');

Features

Auth Service

  • User signup and signin
  • Password reset
  • User management
  • Session management

Database Service

  • Select, insert, update, delete operations
  • Filtering and ordering
  • RPC function calls

Storage Service

  • File upload and download
  • File management (move, copy, delete)
  • Signed URLs for private files
  • Public and authenticated URLs

Realtime Service

  • WebSocket channel URLs
  • Client connection helpers
  • JavaScript snippets for frontend integration

Configuration Options

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

Requirements

  • PHP ^8.0
  • Laravel ^11.0|^12.0
  • GuzzleHTTP ^7.0

License

The MIT License (MIT). Please see License File for more information.