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
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Multi-tenant Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit
The Certification of Competence for Laravel logo

The Certification of Competence for Laravel

A community-driven, proctored assessment across 4 levels designed to validate real-world Laravel knowledge, from Junior to mastery-level Artisan. Official Vue.js, Official Nuxt, Angular, React, JS certifications also available.

The Certification of Competence for Laravel
Harpoon: Next generation time tracking and invoicing logo

Harpoon: Next generation time tracking and invoicing

The next generation time-tracking and billing software that helps your agency plan and forecast a profitable future.

Harpoon: Next generation time tracking and invoicing
Typesense Search logo

Typesense Search

Typesense is an open source, blazing-fast search engine, optimized for helping you build delightful search experiences for your sites and apps. Natively integrated with Laravel Scout.

Typesense Search
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