🎓 Formación

Mapa del Sistema (Auto-generado)

Inventario generado automáticamente desde el código. Última actualización: 17/8/2026, 17:59:15

46

Entidades

68

Funciones backend

147

Páginas / rutas

4

Workflows

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_EDUCAPLUSS)
BDOrganization UPSERT por CIF — idempotente, clave_corporativa estable
✅/admin/clientes — Organization creada/actualizada

🎓 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

🔐 Supervisor FUNDAE — Acceso aislado por convocatoria

UI/accesostaff — supervisor introduce rol + clave + código convocatoria
ƒvalidarAccesoStaff (verifica trío: clave activa + no caducada + código coincide)
BDStaffKey (rol=SUPERVISOR, id_convocatoria) + Convocatoria (codigo_accion)
BDsessionStorage guarda id_convocatoria → aislamiento total
UI/dashboard-supervisor — filtrado automáticamente por esa convocatoria
✅Supervisor solo ve SU convocatoria, SUS alumnos, SUS informes

🔒 Cierre Convocatoria → Cuestionarios FUNDAE automáticos

UI/admin/convocatorias → "Cerrar convocatoria"
ƒgenerarCuestionariosFundae (por alumno)
BDQualitySurvey con datos Employee (Sección II) + valoraciones neutras (Sección III)
BDEnrollment.cuestionario_calidad_estado = "generado_automatico"
UI/dashboard-rrhh → Cuestionarios FUNDAE (lista + PDF)
ƒgenerateFundaeSurveyPDF (PDF oficial SEPE a demanda)
✅Cuestionarios listos para inspección sin trabajo manual

📄 Declaración Responsable (Videoconf con logs incompletos)

BDSesionVideoconferencia → asistencia <75% o logs incompletos
ƒgenerarDeclaracionResponsable (solo modalidad videoconferencia)
BDDeclaracionResponsable CREATE/UPDATE (anual, idempotente)
ƒjsPDF → PDF con datos alumno, curso, sesiones, año
ƒResend → email al alumno con PDF adjunto
BDDeclaracionResponsable.fecha_envio_email + email_enviado_a
✅Alumno recibe declaración legal para firmar y devolver

🔏 Notaría Digital — Sellado de certificados verificables

BDCertificate creado (alumno aprobó test final — idempotente)
ƒEmail cursoCompletado → badge APROBADO·APTO + link diploma
UI/certificados → CertificateDocument (jsPDF+html2canvas) → PDF descarga
UI/diplomas-informes → "Sellar en Notaría" (si curso.usa_notaria_digital)
ƒsellarCertificadoNotaria → código único CERT-2026-XXXXX
BDCertificate.codigo_verificacion_notaria + fecha_sellado_notaria
UI/verificar?codigo=XXXX — página pública sin login
ƒvalidateCertificate (verifica código + datos)
✅Terceros verifican autenticidad del diploma sin cuenta

🪪 Portal Empleado — Acceso sin cuenta Base44

UI/acceso — NIF/nº empleado + clave corporativa
ƒemployeeLogin (valida DNI + Organization.clave_corporativa)
BDLoginAttempt (rate limit por IP + DNI)
ƒverifyEmployeeToken (sesión JWT independiente)
ƒgetEmployeePortalData (cursos, progreso, certificados)
UI/portal-empleado — vista simplificada
✅Empleado ve su formación sin auth Base44

📥 Importación masiva datos alumnos FUNDAE (Excel)

UI/admin/convocatorias → Panel Inspección → "Importar Excel FUNDAE"
ƒimportarDatosAlumnosFundae (lee 2ª hoja Excel)
BDMapeo por DNI → Employee (datos demográficos)
BDQualitySurvey Sección II actualizada
✅Cuestionarios completos para inspección sin trabajo manual
46 anotadas · 0 auto