Gradex — Sistema de gestión del proceso de titulación

Gradex

Sistema web para la administración del proceso de titulación en institutos tecnológicos: inscripción, tutores, revisores, control de plagio, sustentaciones y generación de actas.

Detalles
Tipo
Web App
Rol
Full-stack Developer
Creación
Q4 2024
Actualización
Q2 2026
Visitar
Demo
Código
Github
Stack tecnológico
PHP 8.2MySQL 8Tailwind CSS v4TCPDFPHPWordPHPMailer
01

Descripción

Contexto general

Aplicación web server-rendered en PHP 8.2 nativo para gestionar el proceso de titulación de la carrera de Desarrollo de Software del ISTJBA. Maneja 4 roles (postulante, gestor, docente, administrador) con flujos diferenciados: inscripción y carga de documentos, postulación de temas, asignación de tutores y revisores, revisión de anteproyectos y tesis con observaciones, control de plagio, asignación de jurado y horario de sustentación, calificación con rúbrica y generación de actas en PDF (TCPDF) y Word (PHPWord). Base de datos MySQL 8 con 9 tablas, trigger automático para sincronización de usuarios, prepared statements en todas las consultas y recuperación de contraseña vía SMTP con PHPMailer.

Gradex — Sistema de gestión del proceso de titulación
02

Motivación

Por qué lo construí

Digitalizar y centralizar todo el proceso de titulación que antes se gestionaba con papel y hojas de cálculo.

Guiar al postulante paso a paso: inscripción → envío de tema → tesis → correcciones → sustentación, con visibilidad condicional de módulos según el estado del proceso.

Permitir al gestor asignar tutores, revisores y jurado, y generar actas oficiales en PDF y Word automáticamente.

Dar al docente herramientas para revisar anteproyectos, tesis y plagio con observaciones, rúbricas de calificación y certificados.

03

Características

Lo que destaca

4 roles con acceso basado en sesión: postulante, gestor, docente y administrador — cada página verifica $_SESSION['usuario_rol'] al inicio.

Flujo completo de titulación con 5 estados por tema (inscripción, tema, tesis, plagio, observaciones) y transiciones controladas entre roles.

Generación de actas de titulación, listados, notas y jurados en PDF con TCPDF y en Word (.docx) con PHPWord.

Sistema dual de layout: moderno (TailwindCSS v4 + Heroicons inline vía PHP) para postulante, legacy (BoxIcons + CSS) para gestor/docente/admin.

Capa de compatibilidad Bootstrap → TailwindCSS con 40+ clases mapeadas vía @layer components y bootstrap-shim.js en vanilla JS.

Seguridad: bcrypt para contraseñas, prepared statements con bind_param() en todas las consultas, recuperación de clave con token criptográfico (random_bytes) de 10 min de expiración vía SMTP Gmail.

Base de datos MySQL con 9 tablas (usuarios, registro, recuperación_clave, documentos_postulante, tutores, tema, periodo_academico, informes_tutores, informes_tesis) y trigger AFTER INSERT para auto-poblar registro.