Todos los proyectos
FULL STACKMay 2025 – Aug 20259 min de lectura

ExamVault — Generación y análisis automatizado de exámenes

Plataforma full-stack: generación automatizada de exámenes, panel de analítica y pipeline de calificación procesando más de 100.000 registros estudiantiles.

PythonDjangoPostgreSQLReact.jsTailwind CSSREST APIDockerGitHub Actions

Resumen

ExamVault lleva a instructores de la página en blanco a insights calificados — genera exámenes de opción múltiple aleatorizados en segundos, califica sesiones completas automáticamente y lee el rendimiento de la clase desde un panel de analítica en vivo, todo en un solo lugar. Sin hojas de cálculo, sin calificación manual, sin esperar días por resultados. Construido en cuatro meses para un cliente real, reemplaza un flujo lento y propenso a errores con un pipeline rápido y defendible. Construí el motor backend de generación de exámenes y el panel de analítica, y lideré el proyecto como Scrum Master — manteniendo a un equipo de dos desarrolladores entregando bajo un plazo ajustado de semestre.

El problema

La calificación manual y los informes para más de 100.000 registros estudiantiles en múltiples sesiones de examen creaban un cuello de botella de procesamiento de 3 días cada semestre. La facultad no tenía visibilidad del rendimiento de la clase hasta que los informes se compilaban manualmente, y las banderas de integridad eran enteramente subjetivas. El sistema debía estar operativo en un semestre.

Preguntas abordadas

  1. 01

    ¿Se puede automatizar el pipeline de calificación de punta a punta, desde hojas de respuestas crudas hasta informes finales de calificaciones?

  2. 02

    ¿Qué métodos estadísticos pueden marcar confiablemente posibles problemas de integridad sin generar excesivos falsos positivos?

  3. 03

    ¿Cómo debe diseñarse el panel de facultad para mostrar insights accionables sin requerir experiencia en análisis de datos?

Metodología

Fase 1

Backend — Django + PostgreSQL

Construí una API Django REST Framework con modelos para: Exam, Student, Answer, Grade e IntegrityFlag. Implementé lógica de calificación automatizada usando comparación con clave de respuestas con soporte de crédito parcial. Añadí un módulo de integridad estadística usando análisis z-score para marcar respuestas que se desvían significativamente de las distribuciones de pares.

PythonDjangoPostgreSQLREST API
Fase 2

Frontend — Panel React

Construí una SPA en React.js con vistas basadas en roles (facultad vs. admin). La vista de facultad muestra: distribución de puntajes de clase, análisis de dificultad por pregunta, mejores/peores rendimientos e cola de banderas de integridad. La vista admin añade importación masiva, configuración de exámenes y exportación a PDF/CSV. Usé Recharts para todas las visualizaciones de datos.

React.jsRechartsAxiosCSS Modules
Fase 3

DevOps — Docker + despliegue

Containericé ambos servicios usando Docker Compose. Configuré Nginx como reverse proxy. Escribí pipeline CI (GitHub Actions) para ejecutar tests en cada PR. Desplegué en un servidor Linux gestionado por la universidad con backups automatizados a almacenamiento compatible con S3.

DockerNginxGitHub ActionsLinux

Resultados clave

100K+Registros estudiantiles procesados
3 días → 2 hrsTiempo de calificación reducido
94%Precisión de marcado (precision)
12Métricas en el panel de facultad

Hallazgos clave

01

La calificación automatizada redujo la ventana de procesamiento de 3 días a menos de 2 horas de punta a punta, incluyendo generación de informes PDF.

02

El sistema de banderas de integridad z-score alcanzó 94% de precisión con 5% de tasa de falsos positivos — significativamente mejor que la revisión manual que no tenía umbral consistente.

03

La facultad reportó el desglose de dificultad por pregunta como el insight más accionable: reveló 3 preguntas por examen en promedio que eran estadísticamente demasiado fáciles o difíciles.

04

La containerización con Docker redujo el tiempo de configuración de entorno para nuevos miembros del equipo de 2 días a menos de 30 minutos.

Conclusión

La automatización full-stack de flujos académicos es viable en un solo semestre con un equipo enfocado de dos personas. El módulo de banderas de integridad demostró ser la funcionalidad más impactante — no porque atrapara trampas, sino porque le dio a la facultad un estándar defendible y consistente para investigación en lugar de intuición. El sistema está actualmente en uso en producción.

Galería

ExamVault — Generación y análisis automatizado de exámenes captura de 1
ExamVault — Generación y análisis automatizado de exámenes captura de 2
ExamVault — Generación y análisis automatizado de exámenes captura de 3
ExamVault — Generación y análisis automatizado de exámenes captura de 4
ExamVault — Generación y análisis automatizado de exámenes captura de 5
ExamVault — Generación y análisis automatizado de exámenes captura de 6
ExamVault — Generación y análisis automatizado de exámenes captura de 7
ExamVault — Generación y análisis automatizado de exámenes captura de 8