Skip to content

Arquitectura de la Aplicación

Diagrama de arquitectura

El flujo de comunicación de la aplicación sigue esta secuencia:

  1. Petición Inicial: Cuando un usuario realiza una solicitud HTTP GET a https://lcc-hub.unison.mx, el registro DNS (gestionado por el área de Informática) redirige el tráfico hacia la dirección IP de un servidor alojado dentro de la red de la Unison.
  2. Proxy Inverso: En dicho servidor, un servicio de Nginx recibe la petición y se encarga de gestionar y enrutar el tráfico hacia el servidor de Next.js, donde se ejecuta el frontend de la aplicación.
  3. Gestión de Contenido (CMS): El frontend consume los endpoints expuestos por una API REST en un servidor Strapi. Este servidor actúa como Gestor de Contenidos (CMS) y almacena su información en una base de datos SQLite.
  4. Integración con Sistemas Legacy: Adicionalmente, la aplicación realiza peticiones a un servidor legacy (heredado de un proyecto anterior) para consultar los datos de alumnos y materias, los cuales se encuentran almacenados en Firebase.
  5. Autenticación: El control de acceso y la identidad de los usuarios se gestionan mediante una Single Page Application (SPA) integrada con Azure Active Directory (Azure AD), utilizando un token de acceso proporcionado por el área de Informática.
  • Frontend: Next.js / React / Tailwind CSS / TypeScript
  • Backend (CMS): Node.js con Strapi
  • Servidor Web / Proxy: Nginx
  • Autenticación: Azure Active Directory (Azure AD)
  • Bases de Datos: SQLite (para el CMS de Strapi) y Firebase (para datos legacy de alumnos y materias)