Documentación técnica

Referencia para entender cómo está construida la extensión.

Módulos JavaScript, contratos, almacenamiento y criterios de validación. Las explicaciones de uso de cada pantalla se mantienen fuera de esta sección.

Versión de extensión

0.8.0

Versión declarada por el manifiesto de la extensión de Chrome.

Fuente: ../utplus-extension/manifest.json

Estado del backend

En evolución

Las integraciones de backend se describen sin prometer disponibilidad futura.

Fuente: src/app/core/config/formly.config.ts

Revisión documentada

2026-08-06

Fecha de revisión del contenido técnico publicado.

Fuente: src/app/features/documentacion/config/documentation-content.ts

Datos de UTP visibles

Cursos, materiales y matrícula

La extensión consulta información disponible en la sesión activa del usuario.

Fuente: src/app/pages/privacidad/privacidad-page.component.html

¿Quieres revisar cómo funciona UTPlus?

Adjunta el archivo a tu asistente personal y pídele que analice el código usando este prompt.

Plantilla ilustrativa

Consulta de cursos

Resume cómo se transforma un curso visible en un objeto estable para la interfaz.

  1. Entrada

    Sesión activa y un curso visible en UTP Class.

  2. Campos solicitados

    Nombre, periodo y sección del curso visible.

  3. Error controlado

    Si faltan datos, se informa el estado sin inventar un curso.

  4. Resultado

    Un curso normalizado que la interfaz puede presentar y organizar.

Consulta ligera de un curso visiblejs
const consulta = {
  curso: cursoVisible.nombre,
  periodo: cursoVisible.periodo,
  seccion: cursoVisible.seccion,
};
  1. Toma datos visibles

    Parte del curso que la sesión activa ya muestra.

  2. Delimita la consulta

    Reúne únicamente nombre, periodo y sección.

  3. Crea un contrato estable

    Entrega los mismos campos al resto de la extensión.

  4. Mantiene el límite

    No modifica cursos ni representa una acción de matrícula.

Plantilla ilustrativa

Detección de página

Identifica el contexto activo antes de mostrar cursos, materiales o matrícula.

  1. Entrada

    URL y elementos visibles de la página académica.

  2. Campos solicitados

    Ruta, tipo de página y señales de una sesión activa.

  3. Error controlado

    Si el contexto no es compatible, el sidebar no se monta.

  4. Resultado

    Un contexto normalizado para activar el módulo correcto.

Detectar el contexto activojs
const contexto = detectarPagina({
  url: window.location.href,
  dom: document,
});
  1. Lee la página

    Usa la URL y el DOM disponibles en la pestaña.

  2. Clasifica el contexto

    Distingue cursos, matrícula y páginas no compatibles.

  3. Evita falsos positivos

    No activa una vista sin señales suficientes.

  4. Entrega un estado

    Los demás módulos reciben un contexto estable.

Plantilla ilustrativa

Almacenamiento local

Conserva el progreso necesario para continuar el trabajo en el navegador.

  1. Entrada

    Curso, resultado o preferencia producida por una función de UTPlus.

  2. Campos solicitados

    Clave de UTPlus y valor previamente normalizado.

  3. Error controlado

    Un fallo de almacenamiento mantiene visible un estado recuperable.

  4. Resultado

    Datos locales que pueden leerse, actualizarse o eliminarse.

Guardar un resultado normalizadojs
const clave = 'utplus:cursos';
await storage.set(clave, normalizar(cursos));
  1. Usa un espacio propio

    La clave identifica datos internos de UTPlus.

  2. Normaliza antes

    Reduce diferencias entre páginas y estados.

  3. Guarda localmente

    Permite recuperar el trabajo en el mismo navegador.

  4. Controla el error

    La interfaz informa cuando no puede persistir.

Plantilla ilustrativa

Materiales

Organiza los recursos visibles del curso por semana, apartado y tipo de archivo.

  1. Entrada

    Curso abierto y contenido académico visible para la sesión activa.

  2. Campos solicitados

    Semana, apartado, nombre, tipo y enlace visible del material.

  3. Error controlado

    Los recursos no disponibles se marcan sin duplicar ni simular archivos.

  4. Resultado

    Una lista organizada para revisar y descargar recursos permitidos.

Normalizar materiales visiblesjs
const materiales = nodosVisibles.map((nodo) => ({
  semana: leerSemana(nodo),
  nombre: leerNombre(nodo),
  enlace: leerEnlace(nodo),
}));
  1. Recorre lo visible

    Parte de elementos disponibles en el curso abierto.

  2. Extrae campos

    Obtiene semana, nombre y enlace del recurso.

  3. Mantiene el orden

    Conserva una estructura consistente para la interfaz.

  4. Respeta el acceso

    No crea enlaces ni evita permisos de la plataforma.

Plantilla ilustrativa

Consulta de matrícula

Presenta información visible de cursos y secciones con finalidad informativa.

  1. Entrada

    Sesión activa y página compatible de Matrícula UTP.

  2. Campos solicitados

    Curso, sección, horario y vacantes visibles.

  3. Error controlado

    Si una consulta falla, conserva el diagnóstico y permite reintentar.

  4. Resultado

    Opciones visibles para revisar; nunca una inscripción automática.

Preparar secciones visiblesjs
const secciones = filasVisibles.map((fila) => ({
  curso: fila.curso,
  seccion: fila.seccion,
  vacantes: fila.vacantes,
}));
  1. Parte de la vista activa

    Lee las filas que la sesión permite consultar.

  2. Toma campos informativos

    Reúne curso, sección y vacantes visibles.

  3. Prepara la interfaz

    Entrega una estructura que admite filtros y actualización.

  4. No modifica matrícula

    La consulta no inscribe, retira ni cambia cursos.