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).
| 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 |
estudiantesmatriculasprogramas |
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_programasmatriculas |
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_pathR2: 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_vencimientocarnes.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.estadov_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_pathfoto_evidencia_entrega_pathacepta_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_programasfoto_bachiller_pathfoto_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_graduandosReact + 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-bachillerLó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-upeuR2: fotos-bachillerestudiantes_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_academicoVentana 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_diplomalibro_facultad / folio_facultadlibro_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-escaneadospdf_diploma_pathSync 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 |
diplomastipo_documento_diplomanumero_documento_diplomadocumento_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 Frontalfoto_evidencia_entrega_pathacepta_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 / carnesFirma 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_prestamosnivel_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_provisionCHECK 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_moraCá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_AdminDiseñ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.jsCabeceras 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.jsFiltros 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 + jszipEmpaquetador 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 DEFINERValidació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 |