Sobre el proyecto
Este es un sistema de programación de horarios y gestión de sustituciones diseñado en torno al flujo de trabajo diario del jefe de sección docente de escuelas K-12 de Taiwán. Tiene licencia MIT, es autoalojado por escuela, de tipo web puro, con interfaz en chino tradicional y terminología educativa taiwanesa.
Sus funciones son bastante completas. La parte de datos básicos incluye semestres y tablas de períodos (plantillas para múltiples sistemas educativos), docentes/clases/asignaturas/espacios, importación desde Excel, asistente de configuración, copia al abrir un nuevo semestre y asignación de clases y tablas de períodos para sistemas educativos mixtos. La asignación de materias y la programación manual admiten grupos rotativos, enseñanza colaborativa, bloques consecutivos, estadísticas de horas en tiempo real, horario semanal con arrastrar y soltar, comprobación de conflictos por celda, gestión de múltiples versiones de borrador y publicación. La programación automática utiliza el motor Google OR-Tools CP-SAT, resuelve con restricciones duras H1–H10 y restricciones blandas S1–S8 ponderadas, se ejecuta en segundo plano y ofrece progreso en tiempo real; cuando no hay solución, localiza el conflicto en lenguaje administrativo y admite programación parcial.
El flujo de licencias y sustituciones incluye registro de ausencias y despliegue de los períodos afectados, recomendación de sustitutos, validación de cambios de horario, asignación con efecto inmediato, notificaciones internas y por correo electrónico con confirmación, panel del día y impresión de avisos en A4, así como liquidación mensual de horas exportable a Excel. Los informes pueden exportar horarios de clases, docentes y espacios a Excel, PDF (con fuentes chinas incrustadas) o PNG, y ofrecen una tabla general de toda la escuela y lotes en zip. En operación y mantenimiento hay copia de seguridad automática diaria, copia manual/descarga/restauración por carga, registros de auditoría y permisos de roles RBAC.
La pila tecnológica es Vue 3 + TypeScript + Vite + Pinia + Naive UI en el frontend, Python 3.12 + FastAPI + SQLAlchemy 2 + Pydantic v2 en el backend, base de datos PostgreSQL 16, Redis y RQ para ejecutar en segundo plano la programación y los trabajos de exportación y copia de seguridad, Caddy como proxy inverso, y todo se despliega con Docker Compose en seis contenedores. Las imágenes oficiales ofrecen amd64 y arm64; el requisito mínimo es 2 núcleos / 4 GB de RAM / 10 GB de disco, y para la programación automática se recomiendan 4 núcleos y 8 GB.
La instalación ofrece un script de un solo paso (versiones PowerShell para Windows y bash para Linux/macOS/NAS), también permite descargar la imagen oficial o compilar desde el código fuente. El proyecto está diseñado deliberadamente para descargarse y ejecutarse después, en lugar de ejecutarse directamente por tubería, para que el usuario pueda revisar antes el contenido. El sistema incluye una función de datos de demostración que genera rápidamente los datos completos de una escuela secundaria ficticia cuando aún no se ha creado un semestre, lo que facilita probar los procesos de programación, sustitución, exportación y copia de seguridad.
La documentación incluye el manual de operación del jefe de sección docente (11 capítulos con texto e imágenes en web), el manual de despliegue, el diseño de arquitectura, las tarjetas de tareas de desarrollo, el registro de cambios y la guía de contribución, además de una versión HTML legible sin conexión. El estado del proyecto es v1.2.4, los seis hitos principales M0–M5 ya están completados y cuenta con pruebas unitarias, de integración y de extremo a extremo.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.