📘 Manual Técnico de la Plataforma
BSC · Sistema de Gestión de Formación Corporativa Multi-cliente
Versión 2.0 · septiembre de 2026
🆕 Novedades — Agosto 2026
Funcionalidades añadidas desde la versión 1.0
Sistema de emails corregido y unificado
base44/shared/emailTemplates.ts · 14 funciones backendAuditoría completa del sistema de correos: los botones de todas las plantillas ahora generan URLs absolutas (https://plataforma.elconsorcio.es) — antes eran rutas relativas que no funcionaban en clientes de email. La dirección de contacto RGPD se unificó a info@elconsorcio.es en todos los correos (sendMonthlyHRSummary y sellarCertificadoNotaria usaban privacidad@elconsorcio.es). El email 2FA de employeeLogin se alineó a la paleta ejecutiva BSC con pie RGPD.
Umbral de aprobación estandarizado a 50% + 75% módulos
base44/shared/recalcularNota.tsEl cálculo de nota final ahora usa un umbral unificado: nota ≥50% (configurable por curso via porcentaje_minimo_aprobacion, default 50%) Y ≥75% de módulos completados. Antes el umbral era 75% de nota. La función recalcularNota es la única fuente de verdad, usada por recalcularNotaEnrollment (backend) y saveModuleProgress (tras test de módulo). Se corrigió un bug en recalcularNotaEnrollment donde la variable db no estaba definida, lo que impedía el envío del email de curso completado.
Paneles de tutor con scoring, historial y nombre del alumno
/dashboard-tutor → Respuestas Pendientes / Corrección RápidaRespuestasPendientesPanel ahora incluye campo de puntuación manual (0-100), vista de historial de revisiones anteriores y cabecera con el nombre completo del alumno (no su ID). QuickScorePanel mantiene la cola de corrección rápida con previsualización de documento. Al guardar, recalcularNotaEnrollment recalcula la nota final combinando actividades de tutor + tests de módulo + test final.
Escuela MRCDD — Ecosistema en 3 niveles
/oficina-proyectos · /mi-dossier · /verificarArquitectura pedagógica completa para la acreditación CDD: Nivel 1 (microcursos de herramientas), Nivel 2 (cursos competenciales B1/B2/C1/C2), Nivel 3 (cursos de acreditación con Dossier de Evidencias). El campo usa_oficina_proyectos activa el flujo universitario solo en los cursos de Nivel 3.
Notaría Digital — Verificación oficial de dossiers
/verificar?codigo=XXXX (página pública)Cuando el gestor valida la última evidencia de un alumno, el sistema sella automáticamente el dossier: genera un código único (DOSS-2026-XXXXX), envía email al alumno con el código y activa la página pública /verificar donde cualquier universidad o empleador puede verificar la autenticidad del dossier sin login.
Diagnóstico Inicial MRCDD (6 áreas)
/mi-dossier → acceso condicionalAntes de acceder al Dossier de Evidencias, el alumno completa una autoevaluación diagnóstica sobre los indicadores de logro del MRCDD (entidad AcademicCompetencyCriteria, ~100+ criterios importados para las 6 áreas). El perfil resultante (etapa A/B/C por área) se guarda en SelfAssessment y aparece como banner en el dossier.
Ficha FUNDAE del Tutor en Informes
/reporte-fundae-detalladoCada convocatoria del informe detallado ahora muestra la ficha de acreditación FUNDAE del tutor asignado: titulación, años de experiencia docente, horas de formación metodológica y alertas si no cumple el mínimo de 30h requerido.
Filtro FUNDAE en Informe Detallado
/reporte-fundae-detalladoEl panel lateral de cursos del informe detallado ahora solo muestra cursos que tienen convocatorias registradas. Los cursos privados sin convocatoria quedan excluidos automáticamente, evitando confusión en la supervisión FUNDAE.
Fichas de Puesto (JobProfile)
/admin/puestosCatálogo completo de 25+ puestos. Cada ficha: misión, tareas diarias, incidencias, recursos (equipos, software, EPIs), competencias con nivel (BÁSICO→EXCELENTE) y formación requerida con horas.
Gap Analysis Formativo
/dashboard-rrhh → Gap formativoTabla cruzada empleado × curso obligatorio del puesto. Vista por empleado o por tienda (% de cobertura por tienda). Detecta quién falta por hacer cada formación requerida según su JobProfile.
Alertas de Renovación Formativa
/dashboard-rrhh → Alertas renovaciónDetecta automáticamente empleados con formación obligatoria del puesto NUNCA realizada (rojo) o vencida hace más de 3 años (ámbar). Filtrable por tienda. Sin configuración manual — calcula en tiempo real.
Itinerario formativo en Portal Empleado
/portal-empleadoSección "Mi itinerario formativo": el empleado ve exactamente qué cursos obligatorios tiene su puesto, con ✅/❌ por cada uno según lo que ya ha completado. Totalmente automático desde la ficha de puesto.
Convocatorias por curso
/admin/convocatoriasGestión de ediciones (grupos) de cursos: mismo curso base con fechas, tutor y código FUNDAE Acción/Grupo distintos por edición. Estados: planificada → abierta → en_curso → cerrada → cancelada.
Formación Previa Acreditada
/admin/formacion-externaRegistro de formación realizada antes de la plataforma (presencial, antigua plataforma). Cálculo automático de vencimiento (+3 años). Alertas 90 días antes. Visible en portal empleado con diploma imprimible.
Videoconferencias (Presencial Virtual)
/admin/videoconferenciasMódulo independiente para gestionar sesiones sincrónicas de formación en modalidad "presencial virtual" (videoconferencia). Completamente separado de la teleformación: convocatoria propia, expediente FUNDAE propio, sin vínculo con cursos e-learning. Incluye registro de asistencia con cálculo automático de % conexión, umbral configurable y exportación FUNDAE.
Acceso Staff por Clave — 5 roles + aislamiento por convocatoria
/accesostaff · /dashboard-rrhh → Claves StaffSistema de acceso para 5 roles de staff (RRHH, SUPERVISOR, TUTOR, INFORMATICA, DIRECCION) mediante claves con fecha de caducidad. Sin crear cuentas de usuario en Base44. El gestor de claves (StaffKeyManager) se integra como pestaña en el dashboard de RRHH. Los supervisores quedan aislados a su convocatoria asignada: el formulario de acceso exige el código de convocatoria, validarAccesoStaff verifica el trío (rol + clave + id_convocatoria) y el SupervisorDashboard se filtra automáticamente por esa convocatoria.
Metadata IA en módulos (metadata_ai)
/admin/cursos → MódulosLa función generateModuleContent ahora genera automáticamente metadatos estructurados junto al contenido de cada módulo: conceptos clave (5–8 términos), resumen en 2–3 frases, normativas aplicables (ej: "PRL Ley 31/1995") y nivel de dificultad (basico/intermedio/avanzado). Estos metadatos se guardan en el campo metadata_ai del módulo y permiten búsquedas rápidas y contexto IA sin leer el contenido completo.
Certificados automáticos al aprobar
/certificados (alumno) · /diplomas-informesAl superar la evaluación (nota ≥50% + ≥75% módulos completados), el diploma se emite automáticamente (asegurarCertificado, idempotente): el Enrollment pasa a estado "completado" y el Certificate aparece al instante en "Mis Certificados" del alumno. Funciona tanto para tests de módulo (saveModuleProgress) como para el test final (recalcularNotaEnrollment). La función backfillCertificates regenera diplomas de cursos completados antes de esta automatización.
Diplomas enriquecidos con datos FUNDAE
/diplomas-informesLa plantilla del diploma ahora incluye: DNI/NIF del alumno, duración en horas, modalidad (Teleformación/Presencial) y entidad impartidora (BSC). También se muestra el estado de descarga de cada certificado (✓ Descargado con fecha) en el listado de diplomas.
Importación FUNDAE completa de empleados
/admin/empleados → ImportarEl importador ahora reconoce los 16 campos de la plantilla FUNDAE: APELLIDOS, NOMBRE, Telefono, Correo, NIF, FECHA NACIMIENTO, Nº SS, SEXO, COLECTIVO PRIORITARIO, DISCAPACITADO, ÁREA FUNCIONAL, CATEGORIA PROFESIONAL, GRUPO COTIZACIÓN TGSS y NIVEL DE ESTUDIOS. Los valores se normalizan automáticamente a los enums del schema (sexo H/M, grupo de cotización con prefijo numérico, nivel de estudios con variantes de texto). Compatible hacia atrás: si el Excel no trae columnas FUNDAE, funciona como antes. Antes de importar, selecciona la empresa en el desplegable "Filtrar por empresa" para asignar todos los empleados a esa organización.
Catálogo SEPE — Contratos de Formación en Alternancia
/admin/especialidades-sepe · /admin/ocupaciones-cno · /admin/itinerariosCatálogo oficial SEPE para alternancia (RD 1529/2012): EspecialidadesSEPE (códigos oficiales, familias, CNOs compatibles), OcupacionesCNO (puestos) e Itinerarios formativos del catálogo. El flujo nuevo: desde una Ocupación CNO se genera un itinerario con IA (generarItinerarioIA) → se revisa en el detalle → se crean cursos en blanco → el contenido se genera subiendo la ficha PDF oficial (generarContenidoDesdeFichaPDF). La convocatoria referencia el itinerario; ya no crea cursos cascarón automáticamente.
Itinerarios del Catálogo + PFI desde el itinerario real
/admin/itinerarios · /admin/itinerario/:id · /admin/convocatorias → ExpedienteFlujo nuevo de alternancia: el admin genera y revisa itinerarios en /admin/itinerarios (entidades Itinerario + ItinerarioEspecialidad), crea los cursos en blanco desde el detalle, y la convocatoria los referencia obligatoriamente. El Expediente de Alternancia (PFI) se deriva ahora del itinerario real — sin IA: lee Itinerario + ItinerarioEspecialidad + cursos vinculados y permite Descargar PFI (JSON) y Generar PDF SEPE (generarInformeItinerarioSEPE).
Dossier de Evidencias + Notaría Digital
/oficina-proyectos · /mi-dossier · /verificarFlujo completo de expedientes universitarios: el alumno completa un diagnóstico inicial MRCDD (6 áreas, ~100+ criterios), recopila evidencias (AcademicProject) por competencia, el gestor las valida desde la Oficina de Proyectos, y al validar la última evidencia el sistema sella el dossier con un código único (DOSS-2026-XXXXX). La página pública /verificar permite a cualquier universidad o empleador verificar la autenticidad del dossier sin login.
Corrección Rápida + Notas editables del Tutor
/dashboard-tutor → Corrección Rápida / Notas (editable)Dos pestañas nuevas en el dashboard del tutor: "Corrección Rápida" es una cola de todas las evidencias pendientes con previsualización del documento adjunto (PDF/imagen) en modal y puntuación 0-100 inline; "Notas (editable)" es un listado por curso y alumno para editar puntuaciones, estado de revisión y feedback de forma masiva. Al guardar se recalcula automáticamente la calificación final del expediente (recalcularNotaEnrollment: actividades de tutor + tests de módulo + test final, umbral: nota ≥50% + ≥75% módulos completados) y se propaga a diplomas y dossier SEPE.
Portal del alumno con badges de seguimiento
/plataforma (StudentPortal)El menú lateral de /plataforma ahora muestra badges en tiempo real: "Mis Cursos" con el nº de pendientes (tests sin superar + evidencias sin entregar/revisar), "Certificados" con los completados, y un listado por curso con su nota media (verde ≥75% / rojo <75%) o badge ámbar de pendientes. Sección "Mi Tutor" con el nombre del tutor asignado y el conteo de evidencias en revisión. Todo calculado por el hook useStudentSidebarStats. Auth propia (localStorage employee_session, sin Base44 auth).
🗺️ Roadmap — Funcionalidades pendientes o mejorables
Como plataforma LMS corporativa multi-cliente, estas son las funcionalidades que aún pueden añadirse en próximas fases:
Notificaciones automáticas por email
Automatismo que envía email cuando: se asigna un curso nuevo, un certificado está a punto de vencer, un empleado lleva X días sin actividad. La función sendNotification existe pero se llama manualmente.
Checklist de onboarding por puesto
Al incorporar un nuevo empleado, generar automáticamente un checklist de bienvenida vinculado a su JobProfile: cursos a hacer, documentos a firmar, equipos a recibir. Flujo guiado para el primer día.
Dashboard del supervisor de tienda
Vista específica para el gerente de tienda: % cobertura formativa de su equipo, quiénes tienen formación vencida, alertas de renovación filtradas solo para su tienda. El rol supervisor_tienda existe pero la vista está limitada.
Asignación masiva de itinerario por puesto
Botón en /admin/puestos: "Asignar itinerario a todos los empleados de este puesto" → crea automáticamente los Enrollment de los cursos obligatorios del JobProfile para todos los empleados del puesto que no los tengan.
Límite 80 alumnos tutor: suma transversal
Actualmente valida solo dentro del grupo seleccionado. Pendiente: sumar automáticamente los alumnos ya asignados al tutor en cursos con fechas solapadas para validar el total acumulado.
Encuesta de desempeño por puesto (360°)
Encuesta periódica para que el empleado y su responsable valoren las competencias requeridas por el JobProfile. Permitiría detectar gaps de competencias (no solo formativos) y alimentar el planificador.
App móvil nativa (PWA)
El portal empleado es responsive pero no está instalado como PWA. Añadir manifest.json, service worker y botón "Instalar en pantalla de inicio" mejoraría la experiencia en móvil para empleados de sala.
Integración Microsoft Teams para asistencia automática
El módulo de videoconferencias ya gestiona sesiones y asistencia manualmente. La siguiente fase es conectar la cuenta de Teams de la empresa via OAuth para importar automáticamente los callRecords: quién se conectó, cuándo entró y cuándo salió. Eliminaría el registro manual y garantizaría datos objetivos ante FUNDAE.
Integración con sistema de RRHH externo (Factorial / A3)
Importación automática de altas/bajas/cambios de puesto desde el sistema de nóminas. Actualmente se hace manualmente via Excel. Un webhook o cron job evitaría duplicar el mantenimiento de datos.
La plataforma está construida sobre Base44 (React + Deno backend). Utiliza:
Entidades (BD)
Employee, Course, Module, Enrollment, Progress, Certificate, Activity, ActivityResponse, Message, ForumPost, News, StudyGuide, etc.
Backend Functions (Deno)
Funciones serverless que usan LLMs (OpenAI/Gemini), generan PDFs, procesan archivos y gestionan autenticación de empleados.
Agentes IA
course_architect (crea cursos), lesson_enricher (enriquece lecciones). Conversacionales con herramientas de entidades.