Arquitectura de la Aplicación
Diagrama
Section titled “Diagrama”
El flujo de comunicación de la aplicación sigue esta secuencia:
- 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. - 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.
- 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.
- 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.
- 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.
Descripción de Componentes Principales
Section titled “Descripción de Componentes Principales”- 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)