Refactor de Platzigram: código profesional
Clase 3 de 17 • Curso de 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
Profesionaliza tu proyecto de Platzigram con un refactor enfocado en mantenibilidad y escalabilidad. Aquí verás cómo una estructura de carpetas clara, la separación de responsabilidades y la componentización preparan el terreno para autenticación, perfiles y políticas avanzadas en Supabase.
¿Qué cambió en la estructura del proyecto con Supabase?
La reorganización consolida buenas prácticas: código más limpio, responsabilidades bien separadas y un cliente de Supabase con lugar propio. Se parte del repo de Supabase avanzado, en la branch clase tres, comparado con Supabase Fundamentos.
¿Cómo quedó la estructura de carpetas y archivos clave?
- Carpeta out con UI para registro y login. Aún sin funcionalidad, solo interfaz.
- En Components se agregaron Heart icon y PostCard. Antes vivían dentro de la página.
- El bottom nav se mantiene igual.
- La carpeta live ahora guarda el client de Supabase. Antes estaba en Utils; se movió para seguir estándares recomendados.
- Post y Rank se mantienen, con lógica extraída para escalar mejor.
- Utils ahora solo contiene el archivo de time.
- Se creó types, extraído de Mox. Mox ya no es necesario por usar data real de Supabase.
¿Por qué mejora la mantenibilidad con este refactor?
- Separación de responsabilidades: componentes aislados del feed y de las páginas.
- Escalabilidad: lógica extraíble y reutilizable, preparada para crecer.
- Variables de entorno organizadas: configuración bajo control desde el inicio.
- Cliente de Supabase centralizado: patrón consistente y seguro.
¿Cómo se limpiaron las páginas y componentes del feed?
El feed ahora importa componentes en lugar de definirlos en la página. Resultado: vistas más legibles, componentes reutilizables y pruebas más simples.
¿Qué cambios hubo en componentes como PostCard y Heart icon?
- PostCard se importa desde Components y concentra su propia lógica.
- Heart icon se separa como componente independiente. Muestra la cantidad de likes.
- Antes ambos estaban embebidos en la página principal, lo cual no era correcto.
¿Qué se mantuvo y qué queda a decisión?
- La página de Rank y el listado principal quedaron más limpios.
- El bottom nav sigue tal cual.
- El componente modal quedó en la página para que decidas si moverlo a Components.
¿Qué sigue para la autenticación y la experiencia de usuario?
Se añadieron interfaces para login y registro que respetan el look and feel de la app. Aún no están enlazadas en la UI, se accede manualmente en el navegador. Lo siguiente es conectar todo con Supabase.
¿Cómo prepara esto funciones avanzadas?
- Base sólida: estructura clara antes de escalar funcionalidades.
- Autenticación: manejo de cuentas de usuarios con Supabase.
- Perfiles y modelos relacionales: diseño listo para relaciones entre tablas.
- Políticas avanzadas y acciones desde el front-end: seguridad y reglas listas para integrar.
¿Tienes dudas sobre cómo mover componentes, organizar types o centralizar el client? Comparte tu caso en los comentarios y construyamos una base robusta juntos.