Qué es Supabase

Supabase es una plataforma BaaS (Backend as a Service -- un backend listo para usar sin tener que construirlo desde cero). Es open-source y está construido sobre PostgreSQL, una de las bases de datos más sólidas que existen.

En términos prácticos: Supabase te da una base de datos, autenticación de usuarios, almacenamiento de archivos, funciones en el edge y suscripciones en tiempo real. Todo desde un dashboard y un SDK (Software Development Kit -- la librería que instalas en tu proyecto para conectarte a Supabase).

Por qué Supabase y no Firebase

SupabaseFirebase
Base de datosPostgreSQL (SQL relacional)Firestore (NoSQL documental)
Open-sourceSí, puedes hacer self-hostingNo
PricingGeneroso free tier, pricing predeciblePuede escalar rápido en costos
QueriesSQL real, JOINs, funcionesQueries limitados por la estructura NoSQL
AuthBuilt-in con RLSBuilt-in
Real-time

Si ya sabes SQL o quieres aprenderlo, Supabase es la opción natural. Si vienes de Firebase, la transición es directa.

Qué incluye Supabase

Base de datos PostgreSQL

Una instancia completa de PostgreSQL. No es una versión recortada -- tienes acceso a todo: tipos de datos, funciones, triggers, extensiones, vistas, índices. Puedes usar SQL directamente desde el dashboard o desde el SDK.

Autenticación

Sistema de auth (autenticación) completo: registro con email y contraseña, OAuth (iniciar sesión con Google, GitHub, etc.), magic links (enlaces que te loguean sin contraseña) y OTP (One-Time Password -- códigos de un solo uso).

Row Level Security (RLS)

RLS son reglas de seguridad que defines a nivel de base de datos. En vez de validar permisos en tu backend, PostgreSQL se encarga directamente. Si un usuario no tiene permiso para leer una fila, simplemente no la ve.

Storage

Almacenamiento de archivos (imágenes, PDFs, videos) con buckets (contenedores de archivos) y permisos configurables. Soporta URLs firmadas para acceso temporal.

Edge Functions

Funciones serverless que corren en Deno (un runtime de JavaScript/TypeScript). Las usas para lógica que no quieres exponer en el cliente: webhooks, integraciones con APIs externas, procesamiento de datos.

Realtime

Suscripciones en tiempo real a cambios en tu base de datos. Cuando alguien inserta, actualiza o elimina una fila, tus clientes conectados reciben la notificación al instante.

API auto-generada

Supabase genera automáticamente una API REST (y GraphQL si lo habilitas) basada en tu esquema de base de datos. Cada tabla se convierte en un endpoint. No necesitas escribir ni una línea de código backend para tener tu API lista.

Cómo funciona la arquitectura

plaintext
Tu App (NextJS, React, etc.)
    |
    v
Supabase Client SDK (@supabase/supabase-js)
    |
    v
Supabase API (PostgREST + GoTrue + Realtime + Storage)
    |
    v
PostgreSQL (tu base de datos)

Tu app se comunica con Supabase a través del SDK. El SDK habla con varios servicios internos:

  • PostgREST convierte tu base de datos en una API REST automáticamente
  • GoTrue maneja toda la autenticación
  • Realtime gestiona las suscripciones en tiempo real
  • Storage API maneja los archivos

Todo esto corre sobre una instancia de PostgreSQL que es tuya. Si algún día quieres migrar, te llevas tu base de datos completa.

Requisitos previos

Para seguir esta documentación necesitas:

  • Node.js 18+ instalado
  • Conocimiento básico de JavaScript o TypeScript
  • Una cuenta gratuita en supabase.com
  • Opcional: saber SQL básico (lo iremos cubriendo)

No necesitas experiencia previa con Supabase ni con bases de datos relacionales. Cada concepto se explica desde cero.

Estructura de esta documentación

La documentación está organizada de forma progresiva. Empieza desde lo básico y avanza hacia lo más complejo:

  1. Fundamentos -- Crear proyecto, instalar SDK, conocer el dashboard
  2. Base de datos -- PostgreSQL, tablas, tipos, relaciones, consultas
  3. Autenticación -- Email, OAuth, magic links, protección de rutas
  4. Row Level Security -- Políticas de seguridad a nivel de base de datos
  5. Storage -- Subir y gestionar archivos
  6. Realtime -- Suscripciones en tiempo real
  7. Edge Functions -- Funciónes serverless en Deno
  8. API -- La API auto-generada y sus filtros
  9. CLI y migraciones -- Desarrollo local y control de versiones del esquema
  10. Integración con NextJS -- Server Components, Server Actions, SSR
  11. Producción -- Checklist y seguridad para ir a producción