Publicaciones autenticadas en Suplaxigram
Clase 7 de 17 • Supabase Avanzado
Contenido del curso
Autenticación
CRUD de la aplicación
Seguridad avanzada
Dashboard con Supabase Realtime
Emails y Resend para Suplatzigram
MCP y Edge Functions
Crear publicaciones autenticadas en Suplaxigram ya es una realidad: desde subir una imagen en el front-end hasta verla en el feed con el username y avatar del autor. El flujo integra autenticación, perfiles y storage en Supavise sin datos hardcodeados, habilitando contenido genuino creado por usuarios.
¿Cómo crear publicaciones autenticadas en Suplaxigram?
Para que cada foto tenga dueño y aparezca en el feed como contenido auténtico, se arma un proceso claro y validado por sesión. Así se evitan usuarios por defecto y se garantiza que solo quienes estén logueados publiquen.
¿Qué flujo sigue la subida de imagen y almacenamiento?
- El usuario sube una imagen desde el front-end.
- La imagen se guarda en el storage.
- Se obtiene su URL pública.
- Se crea un post con: user ID autenticado, caption y URL de imagen.
¿Cómo se guarda el post con user ID y caption?
- Antes: el user ID estaba hardcodeado y siempre creaba con el mismo usuario.
- Ahora: el user ID se obtiene desde la sesión que provee Supavise.
- Validación: si no hay user ID, se lanza un error y no se crea el post.
- Regla: solo usuarios logueados pueden crear un post.
¿Qué refactor conecta sesión, perfil y feed?
El cambio clave elimina el default user visible en tarjetas y listados. La información real de perfil se extrae de la tabla de profiles y se pasa a los componentes como props, para mostrar el avatar y el username correctos en cada card y en el feed.
¿Cómo obtener el user ID desde la sesión de Supavise?
- Se consulta la sesión activa para validar autenticación.
- Se obtiene el user y, a partir de allí, el user ID.
- Con ese user ID se completa el post y se asocia al perfil.
¿Cómo mostrar avatar y username reales en las cards?
- Se deja de usar texto e imagen hardcodeados como default user.
- Cada card recibe por prop el avatar URL y el username del dueño del post.
- Si no hay usuario logueado, se muestra el caso por defecto solo para contenidos sin autor autenticado.
- En el componente principal, el nombre puede renderizarse en uppercase con su primer caracter cuando aplique.
¿Cómo combinar posts y profiles por IDs únicos?
- Se extraen los IDs únicos de usuarios presentes en los posts.
- Se consultan los profiles reales en la base de datos, no desde un mock.
- Se crean mapas por ID para acceso rápido a perfiles.
- Se hace un merge de posts con profiles y se construye la lista final: posts with profiles.
- Resultado: el feed muestra contenido con datos de usuario exactos, listo para interacciones sociales.
¿Qué habilidades y conceptos clave se aplican?
Este módulo consolida prácticas esenciales para productos sociales con datos consistentes y trazables al autor.
- Autenticación de usuarios: validar sesión antes de crear un post.
- Manejo de storage y URL pública: subir, guardar y exponer imágenes.
- Relación entre tablas: posts con user ID y tabla de profiles.
- Extracción desde sesión: obtener user y completar el post sin hardcode.
- Renderizado condicional: mostrar avatar y username reales en cards y feed.
- Uso de props: pasar avatar URL y username a componentes.
- Normalización de datos: IDs únicos, mapas por ID y merge de entidades.
- Tipado de datos: recibir user como string y un profile con username y avatar URL según la interface profile.
- Prueba end to end: publicar imagen nueva, ver caption, avatar y username del autor (por ejemplo, “Suplaxigram uno”) en el listado.
- Escalabilidad del producto: base para likes, comentarios, galerías por perfil y feed filtrado por usuario.
¿Te surgieron dudas al implementar el flujo o al mapear posts con profiles? Deja un comentario con tu caso y lo revisamos juntos.