MARKETINGProducción

Danny Cuevas

Portafolio fotográfico con panel administrativo para gestión de álbumes e imágenes.

Contexto

Sitio de portafolio para el fotógrafo Daniel Cuevas. Además de la presencia pública, incluye un panel administrativo para que el propio fotógrafo gestione sus álbumes e imágenes.

Arquitectura

Aplicación Next.js con App Router organizada en tres zonas:

  • (main) — páginas públicas: portafolio y contacto.
  • admin — gestión de álbumes e imágenes (las migraciones incluyen álbumes, fechas de prioridad y presentaciones).
  • login — autenticación con Auth.js.

La capa de datos sigue el patrón actions/ (con un schema.ts por dominio) y services/ para consultas. El tipado de base de datos se genera automáticamente (Kanel + PgTyped).

Stack

  • Next.js + TypeScript + Tailwind CSS.
  • PostgreSQL; tipos y validadores Zod generados con Kanel, consultas con PgTyped.
  • node-pg-migrate para migraciones SQL.
  • Auth.js (NextAuth) + next-safe-action; nuqs para estado en la URL.
  • AWS S3 con URLs prefirmadas para la subida de imágenes.
  • Resend para correo.

Resultado

Un portafolio autogestionable en dannycuevas.com: el fotógrafo administra sus álbumes desde un panel privado mientras el sitio público presenta su trabajo con tipado de extremo a extremo.

¿Hablamos?