Supabase

Supabase stats

Downloads
1
Stars
1
Open Issues
0
Forks
0

View on GitHub →

A Laravel package for integrating with Supabase services

Supabase Laravel Package

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.

saeedvir photo

Freelance PHP developer & consultant. Laravel specialist.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Saeedvir Supabase Related Articles

Supabase Package for Laravel image

Supabase Package for Laravel

Read article
Behind the Code: A Discussion with Backend Experts including Taylor Otwell image

Behind the Code: A Discussion with Backend Experts including Taylor Otwell

Read article
Laravel Cloud logo

Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Cloud
Statamic logo

Statamic

The drop-in ready Laravel CMS you’re been waiting for. Go full-stack or headless, flat file or database – it’s up to you.

Statamic
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

Tinkerwell
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Tighten logo

Tighten

We help companies turn great ideas into amazing apps, products, and services.

Tighten
Blastup logo

Blastup

Blastup provides social media enhancement services including buying Instagram likes, followers, and views, with features like instant delivery and a variety of packages to suit different needs.

Blastup