🎓 Formación

Mapa del Sistema — Interacciones y Entidades

Cada acción del administrador, qué genera en la BD, qué módulos alimenta y cómo fluyen los datos.

UI
ƒ Backend
BD
Resultado

Esquema visual — Relaciones entre Empleados, Cursos y Videoconferencias

👤 Employee

dni · puesto · id_centro · rol_plataforma

📚 Course

titulo · duracion_horas · tipo_formacion · identificacion_fundae

🎥 SesionVideoconferencia

fecha · hora_inicio/fin · dni_tutor · expediente_fundae

id_empleado
id_curso
id_sesion

📋 Convocatoria

id_curso · codigo_grupo · id_tutor · fecha_inicio/fin · estado

← Agrupa Employee(s) bajo un Course con código FUNDAE Acción/Grupo →

✅ AsistenciaVideoconferencia

id_sesion · id_empleado · dni · minutos_conectado · % asistencia · asistido

id_convocatoria · id_empleado · id_curso
si asistido=true

🎯 Enrollment

id_empleado · id_curso · id_convocatoria · modulos_visibles[] · estado · calificacion_final · es_apto

🏅 Diploma Asistencia

PDF individual por participante que superó umbral ≥75%

saveModuleProgress
evaluateFundaeTest
exportar FUNDAE

📊 Progress

tiempo_total_seg · score · ratio_conexion → FUNDAE

🏆 Certificate

si nota ≥50% + ≥75% módulos → PDF diploma + nº único verificable

📤 Export FUNDAE

TSV participantes · parte asistencia PDF · CSV auditoría

Empleados / Personas Contenido formativo Videoconferencias Agrupación FUNDAE Inscripciones Progreso / Tracking Resultados / Diplomas Exportación FUNDAE

Mapa de Interacciones por Acción del Admin

20 acciones

Para cada acción: qué entidad genera, qué páginas/módulos alimenta y qué funciones backend invoca.

Mapa de Entidades y Flujos

22 entidades

4 flujos clave UI→Backend→BD→Resultado + mapa desplegable por entidad.

Flujos de datos clave (UI → ƒ Backend → BD → Resultado)

🤖 Curso generado por IA end-to-end

UI/agente-cursos — chat con IA
ƒgenerateCourseStructure (Claude Sonnet)
ƒgenerateModuleContent (GPT-4o)
ƒenrichLessonContent (GPT-4o)
BDCourse + Module + Activity → borrador
UI/previsualizar-curso → publicar
✅Curso activo listo para asignar

📋 Asignación masiva y seguimiento

UI/admin/asignaciones — selección empleados + perfil
BDEnrollment creado con modulos_visibles[]
ƒsendNotification → email/aviso alumno
UI/cursos/:id (portal alumno) — ve su curso
ƒsaveModuleProgress → Progress UPSERT
ƒevaluateFundaeTest → calificacion_final
BDCertificate creado si ≥75%
✅/diplomas-informes — PDF diploma generado

🏛️ Ciclo FUNDAE completo (bonificado)

UI/admin/cursos — Course con identificacion_fundae
UI/guias-didacticas — StudyGuide con tutor acreditado (≥30h)
UI/admin/convocatorias — Convocatoria con código Acción/Grupo
BDEnrollment(es) con id_convocatoria
ƒsaveModuleProgress → acumula tiempo_total_segundos
ƒgetEnrollmentData → ratio conexión para informe
UI/reporte-fundae-detallado — horas por alumno verificadas
✅/exportar-fundae → TSV + CSV para FUNDAE

🏢 Flujo multi-empresa (aislamiento por cliente)

UI/admin/clientes — crear Organization + clave
BDOrganization creada (organization_id)
UI/admin/empleados — filtrar por empresa → importar/crear
BDEmployee con organization_id
UI/admin/gestion-enrollments — modal con filtro empresa
BDEnrollment hereda organization_id del empleado
✅Reportes e inscripciones aislados por cliente

🔗 Sincronización de Cuentas desde CRM externo

BDCRM externo — Cuenta creada/actualizada
ƒAutomation CRM → POST webhook (Bearer WEBHOOK_SECRET)
ƒwebhookInbound (valida WEBHOOK_SECRET_BSC)
BDOrganization UPSERT por CIF (nombre, sector, teléfono, email, dirección, población, provincia, activo) — idempotente, clave_corporativa estable
✅/admin/clientes — Organization creada/actualizada con clave_corporativa estable

📋 Contrato de Formación en Alternancia (SEPE) — Itinerario del Catálogo

UIAsesoría/RRHH: registro del contrato en CONTRAT@/GESCONTRAT@ (421)
UIAsesoría: alta en Seguridad Social (TA.2)
UI/admin/ocupaciones-cno — catálogo CNO (OcupacionCNO)
UI/admin/itinerarios — generar itinerario desde el CNO
ƒgenerarItinerarioIA → Itinerario + ItinerarioEspecialidad (con alertas de auditoría)
UI/admin/itinerario/:id — revisar: añadir/quitar especialidades, ajustar horas
ƒcrearCursoDesdeItinerario → Course en blanco por cada especialidad
UI/admin/cursos — Generar contenido desde ficha PDF (generarContenidoDesdeFichaPDF)
UI/admin/convocatorias — seleccionar itinerario del catálogo (obligatorio)
BDConvocatoria tipo alternancia · id_itinerario · modalidad teleformación
UIExpediente Alternancia → PFI derivado del itinerario real (sin IA)
ƒgenerarInformeItinerarioSEPE → PDF oficial SEPE del itinerario
✅PFI + informe SEPE coherentes con el itinerario referenciado

🎓 Dossier de Evidencias Universitario (Notaría Digital)

UI/mi-dossier — alumno completa diagnóstico MRCDD (SelfAssessment)
BDSelfAssessment con perfil A/B/C por área
UI/mi-dossier — alumno crea AcademicProject por competencia
BDAcademicProject estado: borrador → enviado → en_revision
UI/oficina-proyectos — gestor valida/rechaza evidencias
ƒsellarDossier (al validar última evidencia)
BDAcademicDossier sellado con código DOSS-2026-XXXXX
✅/verificar?codigo=XXXX — verificación pública sin login

🔑 Acceso Staff con Aislamiento por Convocatoria (Supervisor)

UI/dashboard-rrhh → Claves Staff — RRHH crea clave SUPERVISOR con id_convocatoria
BDStaffKey con rol=SUPERVISOR + id_convocatoria + fecha_caducidad
UI/accesostaff — supervisor selecciona rol + convocatoria + clave
ƒvalidarAccesoStaff — verifica trío: rol + clave + id_convocatoria
BDSesión sessionStorage con id_convocatoria incrustada
UI/dashboard-supervisor — filtrado automáticamente por esa convocatoria
✅Supervisor aislado: solo ve SU convocatoria, SUS alumnos, SUS informes

⚡ Corrección de evidencias y cálculo de nota final (tutor)

UI/modulos/:id (alumno) — entrega evidencia abierta (texto + archivo)
BDActivityResponse con requiere_revision_tutor=true, estado_revision=pendiente
UI/dashboard-tutor → Corrección Rápida — tutor previsualiza documento y puntúa
BDActivityResponse actualizada: puntuacion 0-100, estado_revision, comentario_tutor
ƒrecalcularNotaEnrollment — combina actividades tutor + tests módulo + test final
BDEnrollment.calificacion_final + es_apto (nota ≥50% + ≥75% módulos completados)
UI/dashboard-tutor → Notas (editable) — edición masiva de puntuaciones por curso
✅Diploma + dossier SEPE + informe RRHH coherentes con la nota del tutor

Mapa de entidades — campos, dependencias y funciones