How chava-27/horarios-progweb works
SIGPACH Web gestiona la pre-planeación semestral: el jefe carga la oferta y la disponibilidad docente; el motor genera propuestas que se revisan, asignan y ajustan antes de aprobar la planeación y producir reportes. Los docentes también capturan su disponibilidad en línea. El mapa conserva las capas MVC y las capacidades principales descritas en el README; las relaciones internas se limitan a llamadas documentadas o referencias del índice, pues buena parte de los controladores y servicios no fue muestreada.
Main entry points: servicios Servicios de negocio · pantallas Pantallas y flujo · fachada.py Fachada del motor · acomodador.py Acomodación horaria
Components 27
Interfaz web
- Pantallas y flujo
app/vistas/publico/js/pantallas - Cliente API
app/vistas/publico/js/nucleo/api.js - Interfaz común
app/vistas/publico/js/nucleo/interfaz.js
Aplicación y datos
- Aplicación HTTP
app/principal.py - Controladores
app/controladores - Servicios de negocio
app/servicios - Disponibilidad
app/servicios/servicio_disponibilidad.py - Planeación
app/servicios/servicio_planeacion.py - Modelos de dominio
app/modelos - Consultas comunes
app/nucleo/consultas.py - Conexión SQL
app/nucleo/base_datos.py - Base de datos
Motor de horarios
- Ingesta de formularios
app/motor_horarios/funcionalidades/ingesta_docentes.py - Fachada del motor
app/motor_horarios/fachada.py - Reglas y configuración
app/motor_horarios/config.py - Acomodación horaria
app/motor_horarios/nucleo/acomodador.py - Reasignación
app/motor_horarios/nucleo/reasignador.py - Estadísticas
app/motor_horarios/estadisticas/estadisticas.py - Vistas y PDF
app/motor_horarios/vistas/horario_pdf.py
Seguridad y soporte
- Protección HTTP
app/seguridad/proteccion.py - Autenticación
app/servicios/servicio_autenticacion.py - Auditoría
app/seguridad/auditoria.py - Constantes de negocio
app/nucleo/constantes.py - Errores de negocio
app/nucleo/errores.py - Utilidades
app/nucleo/utilidades.py
Other components
- Jefe de División
- Docente
Connections 28
- Jefe de División → Pantallas y flujo: gestiona
README.md - Docente → Pantallas y flujo: captura disponibilidad
README.md - Pantallas y flujo → Cliente API: solicita datos
README.md - Pantallas y flujo → Interfaz común: usa componentes
app/vistas/publico/js/pantallas/planeacion.js - Cliente API → Aplicación HTTP: envía JSON
README.md - Aplicación HTTP → Controladores: registra rutas
app/principal.py - Aplicación HTTP → Protección HTTP: instala protección
app/principal.py - Controladores → Servicios de negocio: invoca
app/controladores/controlador_periodo.py - Servicios de negocio → Modelos de dominio: usa modelos
app/servicios/servicio_disponibilidad.py - Servicios de negocio → Fachada del motor: usa motor
app/servicios/servicio_planeacion.py - Disponibilidad → Ingesta de formularios: previsualiza formularios
app/servicios/servicio_disponibilidad.py - Ingesta de formularios → Reglas y configuración: lee reglas
app/motor_horarios/funcionalidades/ingesta_docentes.py - Ingesta de formularios → Fachada del motor: carga disponibilidad
app/motor_horarios/fachada.py - Fachada del motor → Acomodación horaria: coordina horarios
- Acomodación horaria → Reglas y configuración: lee parámetros
app/motor_horarios/nucleo/acomodador.py - Reasignación → Acomodación horaria: reutiliza acomodador
app/motor_horarios/nucleo/reasignador.py - Estadísticas → Acomodación horaria: analiza horarios
app/motor_horarios/estadisticas/estadisticas.py - Vistas y PDF → Estadísticas: usa estadísticas
app/motor_horarios/vistas/horario_pdf.py - Vistas y PDF → Fachada del motor: usa vistas
- Modelos de dominio → Consultas comunes: consulta datos
app/modelos/modelo_catalogo.py - Consultas comunes → Conexión SQL: ejecuta SQL
app/nucleo/consultas.py - Conexión SQL → Base de datos: lee y escribe
README.md - Protección HTTP → Auditoría: registra rechazos
app/seguridad/proteccion.py - Controladores → Autenticación: gestiona sesión
app/controladores/controlador_sesion.py - Autenticación → Modelos de dominio: consulta usuarios
app/servicios/servicio_autenticacion.py - Servicios de negocio → Errores de negocio: lanza errores
app/servicios/servicio_disponibilidad.py - Disponibilidad → Constantes de negocio: usa reglas
app/servicios/servicio_disponibilidad.py - Autenticación → Utilidades: normaliza entradas
app/servicios/servicio_autenticacion.py