Saltar al contenido principal
Jose Hidalgo | Ingeniero Full-Stack SeniorIngeniero Full-Stack | Sistemas Distribuidos
InicioProyectosBlogActividadCV
ENES
Jose Hidalgo | Ingeniero Full-Stack Senior

Ingeniero Full-Stack | Sistemas Distribuidos

Desarrollado con claridad e intención.

Navegacion

  • Inicio
  • Proyectos
  • Blog
  • Actividad
  • CV

Conectar

GitHubLinkedInEmail
© 2026 Jose Hidalgo. Todos los derechos reservados.Volver arriba ↑
← Volver a proyectos

Proyecto

Plataforma de Portafolio Multi-Tenant

Una plataforma CMS que sirve múltiples sitios web independientes desde un solo despliegue. Construida con Payload CMS embebido en Next.js, provee a cada inquilino contenido aislado, dominios personalizados, presets de tema, soporte bilingüe y un editor visual de rich text — todo gestionado desde un solo panel de administración.

14 mar 2026
10 views
Next.jsPayload CMSTypeScriptReactMulti-TenantTailwind CSSDocker
Ver sitio en vivo↗
CompartirXLinkedIn

Una base de código, múltiples sitios web. Esta plataforma ejecuta sitios de portafolio, blogs, páginas de negocio y escaparates literarios desde un solo despliegue. Cada sitio obtiene su propio contenido, configuración, dominio e identidad visual — lógicamente aislado de todos los demás inquilinos.

Cómo Funciona

El CMS corre dentro de la aplicación — no como un servicio separado. Cuando una página carga, llama a la capa de contenido en proceso sin viaje HTTP de ida y vuelta. Este enfoque embebido elimina la necesidad de un API gateway y mantiene el despliegue simple: un solo proceso maneja tanto el sitio público como el panel de administración.

La resolución de inquilinos ocurre en el middleware: el dominio entrante se empareja con un inquilino, y todas las consultas de datos subsiguientes se limitan a ese inquilino. Los usuarios nunca ven contenido de otros sitios, y los administradores solo pueden gestionar el propio.

Funcionalidades Principales

  • Aislamiento multi-tenant — cada sitio tiene contenido, medios, configuración y analíticas independientes. Un solo panel de admin gestiona todos los inquilinos con acceso basado en roles.
  • Dominios personalizados — los inquilinos pueden conectar su propio dominio con verificación de registro DNS TXT.
  • Ocho presets de tema con fondos interactivos — cyberpunk, minimal, editorial, corporate, medical, creative, nature y elegant. Cada uno controla colores, tipografía, border radius y sombras. Tres animaciones basadas en canvas (breathing tiles, rising particles, gradient waves) se sugieren por tipo de sitio. También se soporta branding personalizado completo.
  • Editor visual de rich text — los editores de contenido escriben con una barra de herramientas, no Markdown. Encabezados, negritas, listas, imágenes, bloques de código con resaltado de sintaxis, embeds de video y cajas de callout. La capa de renderizado añade capitulares, subrayados con gradiente y marcadores con color de acento automáticamente.
  • Contenido bilingüe — inglés y español con cadenas de fallback por locale. Un flujo de traducción masiva permite exportar contenido como JSON, traducirlo externamente y reimportarlo.
  • — una vista de portafolio con timeline y grilla de proyectos, o un layout de producto con sección hero, grilla de features, testimonios y FAQ.
Dos layouts de página principal
  • Generación de CV en PDF — CVs renderizados en el servidor con etiquetas sensibles al locale, soporte multi-página y codificación de caracteres correcta para nombres internacionales.
  • Panel de admin con tema — dashboard con marca, widgets de estado de contenido, asistente de onboarding en cuatro pasos, y dashboard de uso para super-admins. 13 colecciones de contenido, cada una con borradores, publicación programada y campos localizados.
  • Stack Tecnológico

    • Next.js 15 con React 19 y Server Components por defecto
    • Payload CMS 3 — embebido en la aplicación, usando la API Local para acceso a datos en proceso
    • TypeScript de punta a punta — 13 colecciones de contenido, componentes, hooks, tests
    • Tailwind CSS con temas basados en variables CSS para cambio dinámico de presets
    • Lexical editor de rich text con resaltado de sintaxis Shiki y embeds de video
    • Dockerizado para producción con PostgreSQL y backups automatizados
    • Vitest + Playwright — más de 560 tests