Modelo de datos de Suplatigram con Supabase
Clase 5 de 17 • Curso de Supabase
Contenido del curso
Base de Datos y API Automatizada
Storage en Supabase
Conectando el Frontend con Supabase
- 12

Conecta Supabase con frontend real
10:10 min - 13

Supabase JS: de mocks a datos reales
11:03 min - 14

Crear posts reales con Supabase y Next.js
10:10 min - 15

Cómo conectar un feed cronológico con Supabase
07:11 min - 16

Deploy en Vercel con variables Supabase
06:00 min - 17

Qué hacer tras completar Supabase básico
00:42 min
Construye una base sólida para un clon de Instagram con Supabase: aquí se define la tabla post de Suplatigram y el modelo de datos que, desde la base, genera automáticamente APIs, permisos, reglas y relaciones. Antes de escribir código, entender qué columnas crear y por qué permite escalar con seguridad y trabajar con datos reales de inmediato.
¿Por qué el modelo de datos en Supabase define APIs y permisos?
Lo esencial: en Supabase todo nace de la base de datos. Lo que se defina en el esquema de tablas genera automáticamente APIs, permisos, reglas y relaciones, por eso el diseño de la tabla post es el primer paso. Tener clara la intención de cada campo facilita la escalabilidad y evita cambios costosos más adelante.
- Diseña pensando en las funcionalidades futuras: feed, perfiles y detalle del post.
- Define la intención de cada campo desde el inicio.
- Relaciona servicios de Supabase como storage y usuarios.
- Empieza sin código: el modelo crea infraestructura útil de inmediato.
¿Cómo crear la tabla post con campos clave en Supabase?
Desde el editor de tabla o table editor, crea la tabla "post" (o "posts"). Para efectos del ejercicio, se desactivan los niveles de seguridad; Supabase advierte que es peligroso, se abordará más adelante. Verás que id y created_at vienen por defecto; luego se agregan las columnas necesarias pensando en las funcionalidades y la escalabilidad.
- id: creado por defecto.
- created_at: creado por defecto.
- user_id: UUID para identificar al autor.
- image_url: texto con la URL de la imagen subida al storage.
- caption: texto con el contenido del post.
- updated_at: timestamp para ediciones.
- likes: número para contar interacciones.
Punto clave: puedes agregar columnas después de crear la tabla. En el ejemplo, se añadió "likes" luego de creada para mostrar que la estructura puede evolucionar conforme el proyecto crece.
¿Qué relación tiene user_id con usuarios?
"user_id" se relaciona con la lista de usuarios registrados. Este vínculo permite identificar al autor de cada post y habilitar vistas como el perfil.
¿De dónde viene image_url y cómo se conecta con storage?
"image_url" proviene del storage de Supabase. Al guardar la URL, se conecta la tabla post con el servicio de archivos, integrando datos y activos sin duplicar información.
¿Por qué agregar likes como número ahora?
El campo "likes" como número facilita relacionarlo con otra tabla y medir interacciones. Además, demuestra que no hace falta definir todo de inmediato: se puede crecer de forma controlada.
¿Qué habilita esta estructura base en Suplatigram?
Con esta tabla, ya existe un punto de partida sólido para construir vistas y flujos reales. A partir de aquí, se puede insertar contenido y consumir las APIs generadas por Supabase desde el front end para mostrar posts reales.
- Construir el feed principal con imágenes y textos.
- Crear pantallas de perfil por autor.
- Mostrar el detalle de cada post.
- Insertar datos reales y consumir APIs sin escribir backend propio.
- Evolucionar el modelo sumando columnas conforme escale.
¿Tienes dudas sobre los campos o el flujo de datos? Comparte tu pregunta y cuéntame cómo piensas estructurar tu feed y perfiles en Suplatigram