Resumen

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