Saltar al contenido
Andrés Cuello
English
← Todos los proyectos
Caso de estudioProyecto independienteEn desarrollo

Ges2l

Plataforma multi-tenant para instituciones educativas, con inicio de sesión único, panel administrativo, módulo académico y un sitio de marketing bilingüe. Mi aplicación full stack más completa.

Estado
En desarrollo y pruebas de aceptación (UAT). El sitio de marketing es público; la plataforma todavía no está en uso en producción por instituciones.
Tecnologías
NestJS · Fastify · React · PostgreSQL · Drizzle · Redis · Astro · Turborepo
Enlaces
Ver sitio
Página de inicio del sitio de marketing de Ges2l en español. El panel de producto que aparece es una maqueta ilustrativa con datos de ejemplo.
Captura de ges2l.com, sitio de marketing públicoEl panel de esta captura es una maqueta ilustrativa del sitio de marketing público, no datos de una institución que use la plataforma.

Contexto

Colegios e instituciones académicas suelen manejar la administración y lo académico en herramientas separadas. Ges2l los reúne en una plataforma: un panel administrativo (sedes, usuarios, roles, años lectivos) y un módulo académico (periodos, grupos, asistencia, calificaciones), detrás de un único sistema de cuentas.

Qué construí

  • Una API con NestJS 12 sobre Fastify, con PostgreSQL 18 detrás de PgBouncer y Drizzle ORM para esquema, migraciones y datos semilla.
  • Datos multi-tenant y control de acceso por roles, para que cada institución vea solo sus registros y cada usuario solo lo que su rol permite.
  • Inicio de sesión único entre subdominios (cuentas, panel, academy, mi cuenta) con sesiones en Redis, y JWT para clientes móviles y de API.
  • Frontends con React 19 y Vite, TanStack Query y Zustand, que comparten paquetes de autenticación, i18n, validación e interfaz en un monorepo con pnpm y Turborepo.
  • Un sitio de marketing en Astro (ges2l.com) con i18n tipado, rutas localizadas, content collections y scripts que auditan metadatos SEO, traducciones y los hashes de la política de seguridad de contenido.
  • Infraestructura con Docker para desarrollo local y despliegue, con Nginx, PgBouncer y Redis.

Decisiones

  • Paquetes compartidos en vez de copiar y pegar. Tipos de autenticación, validadores, recursos de i18n y componentes viven en un solo lugar y los usan todas las aplicaciones.
  • El sitio de marketing es solo Astro. React solo se permite dentro de una isla; hoy no envía nada de React.
  • Controles de calidad en el toolchain: oxlint, oxfmt, syncpack y knip en todo el monorepo.

Estado

En desarrollo y pruebas de aceptación (UAT). El sitio de marketing en ges2l.com es público; la plataforma todavía no está en uso en producción por instituciones. El panel de la captura del sitio de marketing es una maqueta ilustrativa con datos de ejemplo.