TechLead
Lección 1 de 8
5 min de lectura
Supabase

Introducción a Supabase

Aprende qué es Supabase, sus funciones clave y cómo configurar tu primer proyecto

¿Qué es Supabase?

Supabase es una alternativa de código abierto a Firebase que ofrece todos los servicios backend que necesitas para construir aplicaciones modernas. Está construido sobre PostgreSQL y brinda una base de datos potente, autenticación, suscripciones en tiempo real, almacenamiento y Edge Functions.

🚀 ¿Por qué elegir Supabase?

  • Código abierto: Autoalojado o plataforma administrada
  • PostgreSQL: Base de datos SQL completa con todas las funciones
  • Tiempo real: Suscripciones en tiempo real integradas
  • APIs auto-generadas: APIs REST y GraphQL automáticamente
  • Row Level Security: Control de acceso granular

Supabase vs Firebase

Característica Supabase Firebase
Base de datosPostgreSQL (SQL)Firestore (NoSQL)
Código abiertoNo
AutoalojamientoNo
Tiempo real
Funciones EdgeDenoNode.js

Funciones principales

🔐 Autenticación

Email, OAuth, magic links, auth con teléfono

🗄️ Base de datos

PostgreSQL completo con extensiones

📁 Storage

Almacenamiento de archivos con CDN

⚡ Edge Functions

Funciones serverless con Deno

Configurar tu primer proyecto

Paso 1: Crear una cuenta de Supabase

Visita supabase.com y regístrate con GitHub o email.

Paso 2: Crear un nuevo proyecto

Haz clic en "New Project" y configura:

  • Nombre del proyecto
  • Contraseña de base de datos (¡guárdala de forma segura!)
  • Región (elige la más cercana a tus usuarios)

Paso 3: Instalar el cliente de Supabase

# Using npm
npm install @supabase/supabase-js

# Using yarn
yarn add @supabase/supabase-js

Paso 4: Inicializar el cliente

import { createClient } from '@supabase/supabase-js'

const supabaseUrl = 'https://your-project.supabase.co'
const supabaseKey = 'your-anon-key'

export const supabase = createClient(supabaseUrl, supabaseKey)

⚠️ Nota de seguridad

La clave anon es segura para usar en el cliente porque las políticas de Row Level Security protegen tus datos. Nunca expongas la clave service_role en el cliente.

Tu primera consulta

// Fetch all rows from a table
const { data, error } = await supabase
  .from('posts')
  .select('*')

if (error) {
  console.error('Error:', error)
} else {
  console.log('Posts:', data)
}

Estructura del proyecto

my-supabase-app/
├── src/
│   ├── lib/
│   │   └── supabase.js      # Supabase client
│   ├── components/
│   └── pages/
├── .env.local               # Environment variables
└── package.json

Variables de entorno

# .env.local
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key

💡 Puntos clave

  • • Supabase es una alternativa open-source a Firebase basada en PostgreSQL
  • • Proporciona auth, base de datos, storage, realtime y Edge Functions
  • • La clave anon es segura en el cliente con RLS habilitado
  • • Las APIs auto-generadas simplifican el acceso a la base de datos

📚 Más recursos

Continuar Aprendiendo