🛡️ Universidad Peruana Unión · Secretaría General

Matriz Oficial de Requerimientos de Software (RTM)

Especificación técnica, trazabilidad y arquitectura del ecosistema unificado para la gestión integral de Carnés Universitarios SUNEDU, Expedientes de Grados (Portal bachiller-upeu + Títulos), Validación de Idiomas (Registro Académico) y Logística de Togas (Fidelidad operativa de baja fricción para Lavandería).

Despliegue: secretaria-general-upeu.pages.dev
Arquitectura: Cloudflare Pages + Supabase (PostgreSQL) + R2
UX Operativa: Fidelidad Lamb_Honor (Cero Fricción Lavandería)
Portales: bachiller-upeu + Hub SG + Mini-login Divi
Requerimientos Totales
📋
38
Módulos funcionales y no funcionales estructurados
Módulos del Sistema
🏛️
6
Carnés, Grados, Togas, Portal, Seguridad y Studio IA
Base de Datos (3NF) ↗
🗄️
11 Tablas
Ver Diagrama Entidad-Relación (ERD)
Motor de IA Biométrica
🤖
CroniTics Studio
ONNX + 300 DPI + Retoque Canvas en Navegador
ID Módulo Requerimiento y Especificación Funcional Prioridad Entidad / Arquitectura Estado
REQ-CAR-01 Carnés SUNEDU Carga Masiva e Importación Inteligente de Planillas SIU/LAMB
Procesamiento de archivos Excel (.xlsx/.xls) que detecta automáticamente estudiantes, matrículas por campus y programas. Evita colisiones de clave foránea mediante inserción masiva por lotes (chunks de 200 filas).
● ALTA
estudiantes
matriculas
programas
Diseñado
REQ-CAR-02 Carnés SUNEDU Soporte Nativo para Múltiples Carreras Simultáneas (Doble Titulación)
Eliminación de la restricción rígida (estudiante_id, periodo). Ahora una matrícula se asocia a (estudiante_programa_id, periodo), permitiendo que un alumno curse dos carreras en paralelo sin sobreescrituras.
● ALTA
estudiantes_programas
matriculas
En Schema
REQ-CAR-03 Carnés SUNEDU Inmutabilidad Histórica de Fotografía por Carné Emitido
La fotografía del carné se almacena de forma inmutable en carnes.foto_path dentro de Cloudflare R2 (fotos-estudiantes). Si el estudiante tramita un duplicado o un carné en un año posterior, cada emisión conserva su foto exacta auditada ante SUNEDU.
● ALTA
carnes.foto_path
R2: fotos-estudiantes
En Schema
REQ-CAR-04 Carnés SUNEDU Regla de Vigencia de 1 Año y Control de Duplicados (S/ 40.00)
El sistema valida que si el estudiante tiene un carné vigente (menos de 1 año desde emisión), se bloquea la solicitud de carné regular en el siguiente semestre y se le exige trámite de Duplicado (con denuncia policial y costo de S/ 40.00).
● ALTA
carnes.fecha_vencimiento
carnes.monto_pago
En Schema
REQ-CAR-05 Carnés SUNEDU Trazabilidad del Ciclo de Vida SUNEDU en 8 Estados Oficiales
Gestión de estados: recibido, registrado_sunedu, en_produccion, en_transito, listo_recoger, no_entregado, entregado y anulado, con filtros por campus y escuela.
● MEDIA
carnes.estado
v_estado_carne
En Schema
REQ-CAR-06 Carnés SUNEDU Módulo Móvil/Tablet de Entrega Presencial con Firma Digital y Auditoría Forense Cronitics
Buscador rápido de código de alumno (reglas de 9 y 7 dígitos), renderizado de foto para validación presencial, canvas táctil para captura de firma manuscrita (firma_path), captura automática de fotografía testimonial del rostro por cámara frontal (foto_evidencia_entrega_path) y consentimiento explícito obligatorio bajo la Ley Nº 29733 de Protección de Datos Personales (acepta_terminos_ley). Soporte para adjuntar carta poder en caso de apoderados.
● ALTA
carnes.firma_path
foto_evidencia_entrega_path
acepta_terminos_ley (Ley 29733)
Diseñado
REQ-GRA-01 Grados & Fotos Expediente de Carrera para Fotos de Bachiller y Título Profesional
Almacenamiento de las fotos de graduación dentro de la relación estudiantes_programas. Cumple 3NF, ya que el grado académico lo confiere la carrera, permitiendo que el egresado conserve su foto de Bachiller y años después registre su foto de Título sin colisiones.
● ALTA
estudiantes_programas
foto_bachiller_path
foto_titulo_path
En Schema
REQ-GRA-02 Grados & Fotos Inspección Biométrica y Control de Vestimenta Formal con IA
Pre-validación en Worker de subida: detección de vestimenta formal (saco/blazer sobre camisa o blusa formal), rechazo automático de aretes/piercings/alhajas, rechazo de lentes y verificación estricta de fondo blanco de estudio.
● ALTA
Cloudflare Worker
Modelos IA Visión
Diseñado
REQ-GRA-03 Grados & Fotos Bandeja de Auditoría Humana y Validación Masiva para Secretaría
Panel comparativo con foto de ejemplo oficial (dama/varón), controles de zoom, rotación 90°, comparación lado a lado y botones de aprobación/rechazo individual o en lote con notificación de motivos.
● ALTA
vista_posibles_graduandos
React + Lucide
Diseñado
REQ-GRA-04 Grados & Fotos Regla de 1 Solo Intento de Subida y Reemplazo Limpio en R2
El estudiante solo puede subir una fotografía. Si el estado es PENDIENTE o VALIDADO, el portal bloquea nuevas subidas. Si la secretaría rechaza la foto, se habilita un nuevo intento borrando el archivo rechazado de Cloudflare R2 para no desperdiciar almacenamiento.
● MEDIA
Bucket R2: fotos-bachiller
Lógica Worker
Diseñado
REQ-GRA-05 Grados & Fotos Exportación de Padrones para Emisión de Diplomas
Generación de archivos Excel formateados con estilos institucionales (XLSX-js-style) para la Dirección de Grados y Títulos, conteniendo la metadata completa de los graduandos aptos con fotos validadas.
● MEDIA
Librería XLSX-js-style
Exportación en cliente
Diseñado
REQ-GRA-06 Grados & Fotos Integración del Portal Estudiantil bachiller-upeu (Ingesta de Fotos y Expedientes)
Consideración plena del portal de autoservicio bachiller-upeu (Cloudflare Pages / dominio institucional). Los egresados acceden de forma independiente para cargar su fotografía formal de grado y su certificado de idioma. El portal interactúa con el bucket R2 privado y registra en estudiantes_programas, alimentando en tiempo real la bandeja de auditoría de Secretaría General.
● ALTA
Portal bachiller-upeu
R2: fotos-bachiller
estudiantes_programas
Considerado
REQ-GRA-07 Grados & Fotos Bandeja Exclusiva de Validación de Idiomas para Registro Académico (RBAC Aislado)
Módulo segregado para el personal de Registro Académico encargado de auditar y dar visto bueno a las constancias de idioma extranjero (inglés). Registro Académico opera en su propia vista sin acceso a Grados, Títulos ni Carnés. Lavandería no tiene visibilidad de este módulo. Secretaría General mantiene visibilidad omnisciente con acceso en ventana flotante/independiente.
● ALTA
Rol: registro_academico
Ventana segregada SG
Supabase RLS
Diseñado
REQ-GRA-08 Grados & Fotos Registro Oficial en Doble Libro y Folio con Número de Diploma Unificado
Custodia legal y correlativo institucional: Cada diploma emitido se asienta simultáneamente en el Libro y Folio de su respectiva Facultad y en el Libro Maestro y Folio de Secretaría General, utilizando un único número oficial unificado (numero_diploma) que se caligrafía en el cartón y se reporta en el padrón de SUNEDU.
● ALTA
diplomas.numero_diploma
libro_facultad / folio_facultad
libro_secretaria_general / folio_secretaria_general
En Schema
REQ-GRA-09 Grados & Fotos Archivo Digital de Diplomas Escaneados (Cloudflare R2 con Sync a Servidor Local)
Digitalización en alta resolución (anverso y reverso) en formato PDF para búsqueda instantánea en ventanilla y auditoría. Se almacena inicialmente en Cloudflare R2 con firmas URL temporales y soporte de arquitectura desacoplada (ruta relativa universal pdf_diploma_path), permitiendo migración o sincronización nocturna (vía Rclone/MinIO/Cloudflare Tunnel) a un servidor de almacenamiento local de Secretaría General.
● ALTA
Bucket R2: diplomas-escaneados
pdf_diploma_path
Sync Servidor Local / MinIO
Diseñado
REQ-GRA-10 Grados & Fotos Rectificación Registral de Documento de Identidad para SUNEDU (Pasaporte ➔ CE / DNI)
Soporte para estudiantes que ingresaron a la universidad con Pasaporte y durante o al término de su carrera obtuvieron Carné de Extranjería (CE) o DNI peruano. La tabla diplomas registra de forma inmutable el tipo y número de documento con el que se emite el grado y se reporta a SUNEDU, adjuntando el documento de sustento legal escaneado (documento_sustento_path).
● ALTA
diplomas
tipo_documento_diploma
numero_documento_diploma
documento_sustento_path
En Schema
REQ-GRA-11 Grados & Fotos Módulo de Entrega de Diplomas con Firma Táctil, Evidencia Fotográfica y Ley 29733
Adaptación integral del flujo forense de Cronitics App para diplomas. Permite entrega en ventanilla anticipada o entrega protocolar en estrado. Captura la firma manuscrita en canvas táctil (firma_entrega_path), captura testimonial del rostro del receptor mediante cámara frontal (foto_evidencia_entrega_path) y registro obligatorio de consentimiento informado (acepta_terminos_ley) según la Ley Nº 29733 de Protección de Datos Personales. Exige carta poder notarial para apoderados y bloquea la entrega si adeuda togas en Lavandería.
● ALTA
Canvas Touch + Cámara Frontal
foto_evidencia_entrega_path
acepta_terminos_ley (Ley 29733)
Check Lavandería
Diseñado
REQ-GRA-12 Grados & Fotos Protocolo Inclusivo de Entrega y Firma Asistida para Personas con Discapacidad (Ley Nº 29973)
Mecanismo accesible en módulos presenciales (ventanilla de Secretaría General y estrado de colación): si el estudiante o graduando presenta discapacidad motriz o visual que le impida el trazo manuscrito en pantalla táctil, el operador activa la modalidad inclusiva. Admite firma a ruego mediante testigo/familiar presencial (conforme al Código Civil y Ley Nº 29973), acreditación CONADIS simplificada y captura de evidencia fotográfica asistida sin fricción.
● ALTA
diplomas / carnes
Firma a Ruego / CONADIS
Ley Nº 29973
En Schema
REQ-TOG-01 Togas & Lavandería Préstamo de Togas para Pregrado y Segunda Especialidad
Control de retiro de togas durante la semana previa (lunes a viernes). Registro del operador que entrega, fecha/hora y asignación de talla (S, M, L, XL, XXL) del stock custodiado por el área de Lavandería UPeU.
● ALTA
togas_prestamos
nivel_academico
En Schema
REQ-TOG-02 Togas & Lavandería Registro de Procedencia de Toga: Institucional vs Externa
Diferenciación en un solo campo tipo_provision ('institucional' vs 'externa'). Los graduandos de Posgrado (Maestría/Doctorado) o alumnos que alquilan por fuera se registran como 'externa' (aptos para desfile, pero exonerados de devolución y sin generar mora a Lavandería).
● ALTA
togas_prestamos.tipo_provision
CHECK constraint
En Schema
REQ-TOG-03 Togas & Lavandería Control de Plazos de Devolución y Cálculo de Mora
La devolución se realiza el domingo de la ceremonia o lunes posterior (libre de recargos). A partir del martes, el sistema marca automáticamente mora diaria y genera la lista de deudores para liquidación.
● ALTA
fecha_limite_sin_mora
Cálculo de mora
En Schema
REQ-TOG-04 Togas & Lavandería Regla de Inasistencia y Bloqueo de Diploma Físico
Si un estudiante retiró toga institucional la semana previa pero no asistió el domingo a la ceremonia, su diploma no se le entrega en estrado y queda en custodia de Secretaría General con flag diploma_bloqueado = true hasta que devuelva la toga a Lavandería.
● ALTA
togas_prestamos.diploma_bloqueado En Schema
REQ-TOG-05 Togas & Lavandería Conmutador Rápido de Rol en Cabecera (Tarapoto y Sedes Mixtas)
Para el personal de Secretaría General de Campus Tarapoto que además entrega togas, la barra superior ofrece un selector instantáneo [Secretaría General] / [Mesa de Togas] sin necesidad de desloguearse ni ingresar contraseñas dos veces.
● MEDIA
React State + Header Context
Permisos combinados
Diseñado
REQ-TOG-06 Togas & Lavandería Fidelidad Visual y Cero Fricción Generacional para Lavandería (Espejo Lamb_Honor_Admin)
Preservación estricta del flujo operativo familiar de las señoras del área de Lavandería para evitar resistencia al cambio o curvas de aprendizaje: botones de gran tamaño (Touch/Click ergonómicos), códigos cromáticos familiares (Verde = Entregar Toga, Amarillo = Devolución Pendiente, Rojo = Mora/Observado), atajos rápidos con lector de código de barras físico y flujo directo en solo 2 clics sin modales intrusivos ni cambios de hábito.
● ALTA
Espejo Lamb_Honor_Admin
Diseño Ergonómico / Señoras
UI Cero Fricción
Priorizado
REQ-STU-01 CroniTics Studio Segmentación Facial y Eliminación de Fondo con IA en el Navegador
Motor de remoción de fondo mediante redes neuronales ONNX (@imgly/background-removal). Procesa las fotos de carné y bachiller localmente en el cliente sin requerir APIs de pago ni enviar datos biométricos a servidores de terceros, garantizando fondo blanco puro #FFFFFF.
● ALTA
ONNX WebAssembly
@imgly/background-removal
En Código
REQ-STU-02 CroniTics Studio Inyector Binario de 300 DPI Exigido por SUNEDU
Motor nativo (dpiInjector.js) que reescribe directamente las cabeceras binarias JFIF y EXIF del archivo JPEG para asegurar una densidad exacta de 300x300 puntos por pulgada (DPI), superando la validación del validador oficial de SUNEDU.
● ALTA
lib/dpiInjector.js
Cabeceras JFIF/EXIF
En Código
REQ-STU-03 CroniTics Studio Canvas Interactivo con Óvalo Guía Biométrico y Zoom Dinámico
Lienzo interactivo (EditorCanvasCarnet / EditorCanvasBachiller) con guía visual de proporciones (distancia barbilla-coronilla y ancho de hombros según norma SUNEDU), paneo, zoom con rueda de ratón y centrado inteligente de rostro.
● ALTA
HTML5 Canvas API
Telemetría de gestos
En Código
REQ-STU-04 CroniTics Studio Panel de Retoque Digital y Calibración de Color en Tiempo Real
Ajuste de brillo, contraste, saturación, balance de blancos y rotación milimétrica con sliders reactivos y previsualización instantánea antes de la exportación a Cloudflare R2.
● MEDIA
lib/retouchEngine.js
Filtros CSS & Pixel Ops
En Código
REQ-STU-05 CroniTics Studio Generador de Lotes Oficiales SUNEDU (.ZIP de Fotos + Excel Estructurado)
Motor de empaquetado (suneduExcel.js + jszip) que renombra automáticamente los archivos bajo la nomenclatura oficial de SUNEDU (ej. 01_CODIGO_DNI.jpg) y exporta el libro Excel de entrega con todas las especificaciones institucionales.
● ALTA
exceljs + jszip
Empaquetador Cliente
En Código
REQ-POR-01 Portal Alumno Consulta Segura de Estado de Carné Universitario
Autoservicio con Código + DNI + Cloudflare Turnstile. Muestra al estudiante si su carné está registrado en SUNEDU, en tránsito, listo para recoger o entregado, sin exponer la base de datos a scraping.
● ALTA
Función RPC:
consultar_estado_carne_alumno
En Schema
REQ-POR-02 Portal Alumno Inscripción a Ceremonia con Acta de Compromiso de Toga
El alumno visualiza la ceremonia oficial asignada a su facultad. Ingresa su número de celular personal, contacto de emergencia de referencia y dibuja su firma digital manuscrita de compromiso de préstamo de toga.
● ALTA
Función RPC:
registrar_compromiso_toga
En Schema
REQ-POR-03 Portal Alumno Validación Previa de Diploma Físico Entregado en Oficina
El portal no permite completar el compromiso de ceremonia a ningún egresado que no tenga registrado previamente fecha_diploma IS NOT NULL en Secretaría General, evitando inscripciones de alumnos sin trámite culminado.
● ALTA
Validación en RPC Postgres
(Candado de negocio)
En Schema
REQ-POR-04 Portal Alumno Pre-asignación Inviolable de Ceremonia (Anti-Manipulación)
El alumno no puede cambiar de ceremonia ni colarse a fechas de otros campus. La función RPC valida que la ceremonia ejecutada sea exactamente la vinculada por Secretaría General, rechazando cualquier intento de alteración con F12 o Postman.
● ALTA
RPC SECURITY DEFINER
Validación estricta
En Schema
REQ-POR-05 Portal Alumno Accesibilidad Web Universal para Estudiantes con Discapacidad (WCAG 2.1 AA & Ley Nº 29973)
Cumplimiento estricto de accesibilidad digital en todos los portales de autoservicio estudiantil (consulta de carnés, carga de expedientes y compromiso de colación): compatibilidad plena con lectores de pantalla (NVDA, JAWS, VoiceOver, TalkBack) con semántica HTML5 y roles WAI-ARIA (aria-live para anuncios de estado); navegación 100% operable por teclado con anillo de foco visible; ratios de contraste cromático superiores a 4.5:1; escalado dinámico de tipografía hasta 200% sin ruptura de interfaz; y áreas táctiles mínimas de 48×48px.
● ALTA
Estándar WCAG 2.1 Nivel AA
Atributos WAI-ARIA
High Contrast & Focus Ring
Diseñado
REQ-SEG-01 Seguridad & RLS Políticas Específicas de Row Level Security (RLS) en Supabase
Blindaje de todas las tablas (campus, facultades, programas, estudiantes, matriculas, carnes, togas). Bloqueo total para anónimos y permisos basados en rol para el personal autenticado.
● ALTA
PostgreSQL RLS
Políticas por rol
En Schema
REQ-SEG-02 Seguridad & RLS Code Splitting y Aislamiento de Rutas Administrativas (React.lazy)
Las pantallas de administración y carga de datos no se descargan en el navegador de los estudiantes. Si un alumno entra a la web pública, solo descarga los 40 KB de la vista de consulta.
● ALTA
Vite + React.lazy()
Dynamic imports
Diseñado
REQ-SEG-03 Seguridad & RLS Enmascaramiento de Rutas de Administración
La ruta de acceso del personal no es la predecible /admin ni tiene botones expuestos en la portada pública. Se parametriza en variables de entorno para que solo el personal conozca el punto de entrada.
● MEDIA
React Router DOM
Vite Env Config
Diseñado
REQ-SEG-04 Seguridad & RLS Despliegue Unificado en Cloudflare Pages
Una sola base de código con dominio secretaria-general-upeu.pages.dev. Cero problemas de CORS entre subdominios, una sola sesión de autenticación y soporte directo si TI asigna dominio institucional.
● ALTA
Cloudflare Pages
Edge CDN global
Diseñado