Orden de configuración

Antes de que el sistema funcione correctamente para estudiantes, docentes y kiosco, un administrador debe completar tres módulos en este orden:

1. Config. Escuela Identidad + logo + académico
2. Docentes Perfil + materias
3. Usuarios Cuenta + rol + acceso
4. Horarios Carga académica
Módulo separado Los horarios se configuran en un módulo independiente (/horarios). Este manual cubre hasta el paso 3. Consulta el Manual de Horarios para el paso 4.
Módulo URL Colección Firestore Acceso
Configuración del plantel /config-escuela config/institucion Admin
Gestión de Docentes /gestion-docentes docentes Admin Jefe
Gestión de Usuarios /gestion-usuarios usuarios Admin

Acceso al sistema

Esta sección aplica a cualquier usuario con cuenta en el sistema (Admin, Jefe o Docente)

El acceso al sistema se realiza en 3 pasos: primero se confirma la institución, luego se selecciona el rol y finalmente se autentica según el tipo de usuario.

/login — Paso 2: Selección de rol
Nombre del Plantel
¿Cuál es tu rol en el plantel?
Portería
Entrada y salida
Estudiante
Portal del alumno
Docente
Asistencia y notas
Admin / Jefatura
Panel administrativo

Flujo según el rol seleccionado

RolPaso 3Destino
PorteríaEmail + contraseña del usuario de portería/entrada-estudiantes
EstudianteCédula → PIN numérico/portal-alumno
RepresentanteEmail → OTP de 6 dígitos/portal-representante
DocenteEmail + contraseña Firebase/portal-docente
Admin / JefaturaEmail + contraseña Firebase/admin-dashboard
Si olvidó la contraseña (Docente/Admin) El administrador puede enviar un correo de restablecimiento desde /gestion-usuarios → editar usuario → "Enviar link para cambiar contraseña". Firebase envía el enlace al correo del usuario.

Identidad del plantel

Solo Administrador puede acceder a /config-escuela

Este módulo guarda los datos que aparecen en carnets, constancias y encabezados de todo el sistema. Es el primer paso antes de imprimir cualquier documento.

Identidad — Campos
Logo del plantel
Subir logo
PNG/JPG · Cuadrado · Mín. 200×200 px · Máx. 2 MB
U.E. Colegio Simón Bolívar
U.E.C.S.B.
DO31800017
Prof. Ana García
2025-2026
Vista previa — carnet
U.E. COLEGIO SIMÓN BOLÍVAR
U.E.C.S.B. · 2025-2026
Nombre del Alumno C.I.: 28.000.000
Grado: 4to · A
Bachillerato
Escanear para asistencia ■■■
Los cambios se reflejan al guardar
Código de Plantel MPPE Este código identifica al plantel ante el Ministerio de Educación. Aparece en todos los reportes MPPE. Si no lo tiene a mano, consulte la resolución de funcionamiento del colegio.

Campos obligatorios

CampoDescripción¿Dónde aparece?
Nombre completo *Nombre oficial del plantelCarnet, constancias, encabezados
Año escolar *Ej: 2025-2026Carnet (anverso), boletines
SiglasAbreviatura institucionalSubencabezado del carnet
Código MPPECódigo oficial del plantelReporte MPPE, constancias
Director(a)Nombre y título (Prof./Lic./Dr.)Reverso del carnet, constancias
LogoPNG/JPG · Cuadrado · Mín. 200×200 px · Máx. 2 MB · Fondo transparente idealCarnet, encabezados
Especificaciones del logo
  • Formato: PNG (recomendado por fondo transparente) o JPG
  • Forma: Cuadrada o circular — se recorta en cuadro
  • Dimensión mínima: 200 × 200 píxeles
  • Dimensión recomendada: 400 × 400 píxeles o mayor
  • Peso máximo: 2 MB
  • Fondo: Transparente (PNG) para mejor integración en carnets y encabezados

El sistema almacena el logo como Base64 en Firestore. Una imagen de 400×400 px en PNG ocupa aproximadamente 50–150 KB — dentro del límite del documento de Firestore (1 MB).

Ubicación

Ubicación — Campos
Calle Bolívar c/c Sucre, Urb. Las Mercedes, Los Teques
Guaicaipuro
Miranda
0212-555-0000
plantel@correo.com
Geolocalización anti-fraude El sistema usa las coordenadas del plantel para verificar que los estudiantes estén físicamente en el aula cuando registran asistencia con el QR. Si las coordenadas no están configuradas, esta validación no funciona. Configúrelas en Firestore directamente en config/institucion con los campos lat, lng y radioMetros (predeterminado: 500m).

Configuración académica

Estos parámetros afectan el comportamiento del módulo de notas y boletines.

Configuración Académica
Literal (A, B, C, D, E)
Numérica (01-20)
3 lapsos
10
CampoOpcionesEfecto
Escala PrimariaLiteral / Numérica / DescriptivaFormato de notas en boletines de primaria
Escala BachilleratoNumérica / LiteralFormato de notas en bachillerato
Lapsos por año2 semestres / 3 lapsos / 4 bimestresNúmero de períodos en sábana y boletines
Nota mínima1–20 (típico: 10)Umbral de aprobación en portal docente y Lab
Guardar configuración
Un solo documento en Firestore Toda la configuración se guarda en el documento config/institucion. Al presionar "Guardar", el sistema hace un set() completo sobre ese documento, sobrescribiendo todos los campos de una vez.

Acceso del personal de portería

Solo Administrador puede crear y gestionar usuarios de portería

El acceso al módulo de portería ya no usa una clave PIN compartida. Cada operador de portería tiene su propio usuario con correo electrónico y contraseña, gestionado desde Configuración Institucional → Gestión de Usuarios.

  • 1
    Ir a /config-escuela → sección Gestión de Usuarios.
  • 2
    Crear un nuevo usuario con rol Portería, asignando correo y contraseña.
  • 3
    Entregar las credenciales al operador. Ese usuario queda restringido a la pantalla /entrada-estudiantes.
Rotación de personal Cuando un operador de portería deja el plantel, desactivar su usuario desde Gestión de Usuarios. No es necesario cambiar ninguna clave compartida porque cada operador tiene credenciales individuales.
Contraseña olvidada El administrador puede restablecer la contraseña del usuario de portería desde la sección de Gestión de Usuarios, o usando la opción "¿Olvidaste tu contraseña?" en la pantalla de login de Firebase.

Tabla de docentes

Acceso: Administrador y Jefe de Área — /gestion-docentes

La tabla de docentes lista todos los perfiles registrados en la colección docentes. Cada fila muestra el perfil del docente y su relación con los horarios.

12
Total docentes
10
Activos
8
Con horario asignado
2
Sin horario
Tabla de docentes
Nombre Cédula Especialidad Materias Estado Acciones
Prof. María López 12345678 Matemáticas 3 materias Activo Horario Editar
Prof. Carlos Ruiz 9876543 Física 2 materias Inactivo Horario Editar
Conexión con horarios El indicador "Con horario asignado" cruza la colección docentes con horarios usando la cédula como llave. Un docente sin horario puede existir en el sistema pero no tendrá franjas en el constructor de horarios.

Registrar docente

Al hacer clic en + Nuevo docente, se abre un modal con el formulario de creación. El ID del documento en Firestore es la cédula del docente.

Modal — Nuevo Docente
12345678
Prof. María López Fernández
maria.lopez@colegio.edu.ve
0412-1234567
Matemáticas
Activo
Materias que imparte
Matemáticas
Estadística
Física
Química
Cálculo
Geometría
Álgebra
Selecciona todas las materias que este docente está autorizado a dictar.

Campos del formulario

CampoObligatorioDescripción
CédulaID del documento en Firestore. No se puede cambiar después.
Nombre completoAparece en horarios, portal y reportes.
EmailNoReferencia. No es el email de acceso (ese va en Usuarios).
TeléfonoNoSolo referencia institucional.
EspecialidadNoTexto libre. Aparece en la tabla de docentes.
EstadoActivo / Inactivo. Los inactivos no aparecen en el constructor de horarios.
MateriasNoArray de nombres. Se usa como referencia en el constructor de horarios.
Cédula = ID permanente La cédula del docente es el identificador que vincula docentes, horarios y asistencias. Una vez creado el registro, cambiar la cédula requiere eliminar y recrear el perfil, y actualizar todos los horarios asociados.

Lista de materias

Las materias disponibles en los chips se cargan de la colección asignaturas (campo activo: true). Si una materia no aparece en la lista, debe ser creada primero en esa colección desde Firestore o desde el módulo de asignaturas.

Editar y desactivar docente

Editar perfil

Clic en Editar en la fila del docente. Se abre el mismo modal con los datos precargados. La cédula aparece en modo solo-lectura y no es editable.

Ver horario

Clic en Horario abre un panel lateral con todas las franjas del docente organizadas por día. Desde ahí hay un enlace directo al constructor de horarios.

Panel — Horario de Prof. María López
Lunes
Matemáticas Aula 2-1 · 07:00–09:00
Estadística Aula 3-2 · 10:00–12:00
Miércoles
Álgebra Aula 1-3 · 08:00–10:00

Desactivar / Reactivar

El botón alterna el campo activo entre true y false. Un docente inactivo:

  • No aparece en la lista del constructor de horarios
  • No puede escanear QR ni registrar asistencia
  • Sus horarios anteriores quedan en Firestore pero sin efecto
  • Su cuenta de usuario en Firebase Auth permanece activa (desactivar por separado en Usuarios)

Roles del sistema

Solo Administrador puede gestionar usuarios — /gestion-usuarios

EnClase tiene tres roles. Cada rol tiene acceso a módulos distintos. El rol se almacena en el campo role del documento en la colección usuarios.

Administrador

Acceso total. Puede crear y gestionar usuarios, configurar la institución y ver todos los módulos del sistema.

Jefe de Área

Gestión académica completa: estudiantes, horarios, docentes, reportes. No puede gestionar usuarios ni configurar la institución.

Docente

Solo accede al portal docente: su horario, asistencia de clase en vivo, registro de notas y EnClaseAI.

El Jefe de Área y el Docente tienen cuentas distintas Un Jefe de Área puede también ser docente con horario. En ese caso, tiene dos accesos distintos: uno como Jefe (va al dashboard) y otro como Docente (va al portal-docente), o una sola cuenta con rol Jefe que tiene su cédula vinculada.

Tabla de usuarios

2
Administradores
1
Jefes de Área
10
Docentes
Tabla de Usuarios
Nombre Email Rol Cédula vinculada Estado Acciones
Natalia Celis director@colegio.edu.ve Admin Activo Editar
Prof. María López maria@colegio.edu.ve Docente C.I. 12345678 Activo Editar

Crear usuario

Crear un usuario crea una cuenta en Firebase Authentication y guarda un documento en la colección usuarios con el UID como ID.

Importante: dos registros separados El perfil del docente (docentes) y su cuenta de acceso (usuarios + Firebase Auth) son cosas distintas. Un docente puede existir en docentes sin tener cuenta de usuario, y viceversa. Siempre registre primero el perfil en Gestión de Docentes, luego cree la cuenta aquí.
Modal — Nuevo Usuario
maria.lopez@colegio.edu.ve
••••••••
Docente
Prof. María López · C.I. 12345678
Vincula esta cuenta con el perfil del docente en el sistema.
  • 1
    Ingrese el email con el que el docente iniciará sesión. Idealmente el email institucional.
  • 2
    Ingrese una contraseña temporal. El docente podrá cambiarla usando el link de restablecimiento.
  • 3
    Seleccione el rol. Si es Docente, aparecerá el selector de cédula para vincularlo.
  • 4
    Si el rol es Docente, seleccione su cédula del dropdown (carga desde docentes activos). Esto vincula la cuenta con el horario y el portal.
  • 5
    El sistema crea la cuenta en Firebase Auth sin desloguear al administrador actual (usa una instancia secundaria de Firebase). Luego guarda el documento en usuarios/{uid}.

Resetear contraseña

En el modal de edición, el botón Enviar link para cambiar contraseña usa sendPasswordResetEmail() de Firebase. El docente recibirá un email con un enlace válido por 1 hora.

Desactivar usuario

El botón en el modal de edición actualiza el campo activo: false en Firestore. Esto impide el acceso desde la lógica de la aplicación (auth-guard.js verifica este campo), pero la cuenta en Firebase Auth sigue existiendo técnicamente.

Matriz de permisos

La siguiente tabla muestra exactamente qué módulos puede acceder cada rol. Esta matriz está integrada en la interfaz de /gestion-usuarios como referencia rápida.

Módulo Admin Jefe Docente
Gestión Académica
Gestión de Estudiantes
Carnets estudiantiles
Reporte MPPE
Docentes y Horarios
Gestión de Docentes
Gestión de Horarios
Disponibilidad de Docentes
Constructor de Horarios
Control de Estudios
Sábana de Notas
Auditoría Asistencia Docente
Portal Docente
Ver horario propio
Asistencia en vivo de clase
Registro de Notas
EnClaseAI
Administración
Generador QR Aulas
Multimedia / Pagos
Configuración de la Institución
Gestión de Usuarios

Flujo completo — alta de un docente nuevo

Este es el proceso paso a paso para incorporar un nuevo docente al sistema desde cero:

  • 1
    Config-escuela está completa — nombre, año escolar y logo guardados. Requisito previo.
  • 2
    Ir a /gestion-docentes → clic en + Nuevo docente. Completar: cédula, nombre completo, email, especialidad, estado = Activo. Seleccionar las materias que dictará (chips). Guardar.
  • 3
    Ir a /gestion-usuarios → clic en + Nuevo usuario. Email (institucional), contraseña temporal, rol = Docente. En el dropdown de cédula, seleccionar al docente recién creado. Guardar.
  • 4
    Enviar credenciales al docente: email + contraseña temporal. Opcional: usar el botón "Enviar link para cambiar contraseña" para que el docente elija la suya.
  • 5
    Asignar horario en /horarios usando la cédula del docente. El docente ya aparecerá disponible en el constructor de horarios.
  • 6
    Docente listo. Al iniciar sesión en /login será redirigido a /portal-docente donde verá su horario, podrá registrar asistencia con QR y cargar notas.
Verificación Pida al docente que acceda a /portal-docente y confirme que ve su horario. Si el horario no aparece, verificar que la cédula en usuarios coincida exactamente con la cédula en horarios.

Importar Docentes desde Excel

Cuando hay muchos docentes que cargar de una vez, se puede usar la importación masiva desde Excel en lugar de registrarlos uno a uno. El botón "Importar Excel" está en la barra de controles de /gestion-docentes.

Descargar la plantilla primero Usar el botón "Plantilla Excel" para obtener el archivo oficial. La plantilla incluye una hoja INSTRUCCIONES con los pasos y descripción de cada columna, y una hoja DOCENTES vacía para completar.

Flujo de importación — 3 pasos

Paso 1Subir el .xlsx
Paso 2Revisar vista previa
Paso 3Confirmar e importar
  • 1
    Subir el archivo — Arrastrar el .xlsx a la zona punteada del modal o hacer clic para seleccionarlo. La plantilla oficial debe tener la hoja DOCENTES.
  • 2
    Vista previa — El sistema muestra cada fila con su estado: ✅ listo / ⚠️ con aviso / ❌ con error. Los ❌ no se importan (falta cédula o nombre). Los ⚠️ sí se importan (sin email o sin especialidad).
  • 3
    Confirmar — Clic en "Importar (N)". El sistema importa fila a fila con barra de progreso. Si una cédula ya existe, la omite sin error.
ColumnaTipoDescripción
cedulaOBLIGATORIOSolo dígitos. Se usa como ID del documento en Firestore.
nombreOBLIGATORIONombre completo del docente.
emailOPCIONALCorreo electrónico. Sin él se muestra ⚠️ pero se importa.
telefonoOPCIONALTeléfono con código de área.
especialidadOPCIONALÁrea o materia principal. Sin ella se muestra ⚠️ pero se importa.

Personal Administrativo — Tabla

El módulo de personal administrativo y de servicio está en /panel-rrhh, en la pestaña "Personal Administrativo". Aquí se gestionan todos los empleados que no son docentes: coordinadores, secretarias, personal obrero, vigilancia, conserjes, etc.

👤
Acceso: rol Jefe o Admin
Colección: personal

La tabla muestra: nombre, cédula, cargo, teléfono, número de asistencias del mes en curso y estado (Activo/Inactivo). Se puede filtrar por texto (nombre o cédula) o por cargo usando el selector.

Agregar y Editar Personal

  • 1
    Ir a /panel-rrhh → pestaña Personal Administrativo.
  • 2
    Clic en "+ Agregar". Completar cédula, nombre completo, cargo (seleccionar del menú), teléfono y estado.
  • 3
    Clic "Guardar". La persona aparece en la tabla y queda registrada en Firestore bajo personal/{cedula}. Desde ese momento la portería la reconocerá al escanear.
Cargos disponibles Directivo · Coordinador · Secretaria · Administrativo · Obrero · Mantenimiento · Vigilancia · Conserje · Otro

Para editar, hacer clic en el ícono de lápiz en la fila. Para desactivar sin eliminar, usar el botón de toggle en la columna Estado.

Importar Personal desde Excel

Para cargar muchos empleados a la vez, usar el botón "Importar Excel" en la pestaña Personal. El flujo es idéntico al de docentes: 3 pasos con vista previa.

Descargar la plantilla El botón "Plantilla" genera un .xlsx con hoja INSTRUCCIONES y hoja PERSONAL. La hoja de instrucciones lista los cargos válidos para evitar errores.
ColumnaTipoDescripción
cedulaOBLIGATORIOSolo dígitos.
nombreOBLIGATORIONombre completo del empleado.
cargoOBLIGATORIODebe ser exactamente uno de los 9 cargos válidos (ver lista arriba). Si el cargo no coincide, la fila queda como ❌ y no se importa.
telefonoOPCIONALTeléfono de contacto.

Módulo Secretaría

Acceso restringido

Solo roles Jefe y Administrador pueden acceder a /secretaria.

Función

Consultar asistencia de cualquier persona del plantel (estudiantes, docentes y personal) sin necesidad de ir a la portería.

Tab 1 — Consulta de persona

Buscar por cédula o nombre. El sistema muestra la persona con su cargo/tipo, si tiene entrada o salida registrada hoy, y su estado de solvencia (si es estudiante). La búsqueda recorre las tres colecciones automáticamente.

Tab 2 — Asistencia del día

Vista unificada de todos los registros de portería del día actual, combinando asistencias_estudiantes, asistencias_docentes y asistencias_personal en una sola tabla. Cada fila muestra tipo (EST / DOC / PER), nombre, hora y tipo de registro (ENTRADA / SALIDA).

Diferencia con la portería La portería registra accesos. La secretaría solo consulta — no modifica ningún dato. Es la vista administrativa de lo que la portería registra.

Checklist de configuración inicial

Configuración del plantel

  • Logo del plantel subido (PNG/JPG)
  • Nombre completo y siglas completados
  • Código de Plantel MPPE ingresado
  • Nombre del Director(a) completado
  • Año escolar activo configurado (ej: 2025-2026)
  • Dirección, municipio y zona educativa completados
  • Escala de calificación y nota mínima definidos

Por cada docente nuevo

  • Perfil creado en /gestion-docentes (cédula, nombre, especialidad)
  • Materias asignadas en los chips del formulario
  • Estado = Activo
  • Cuenta creada en /gestion-usuarios con rol = Docente
  • Cédula vinculada en el dropdown de usuarios
  • Credenciales entregadas al docente (o link de reset enviado)
  • Horario asignado en el módulo de horarios
  • Docente verificó acceso a /portal-docente
Manuales relacionados
  • Manual de Horarios — construcción de la carga académica semanal
  • Manual de Asistencia — flujo QR docente y asistencia en vivo
  • Manual de Estudiantes — registro, carnets y solvencia