Qué resuelve

SITMA Asistencias centraliza el ciclo operativo de un evento: creación del evento, definición de turnos, registro de participantes, control de asistencia, validación de ubicación, reportes y emisión de certificados.

Flujo principal

  1. El administrador crea un evento con una ubicación base y un radio permitido.
  2. Se configuran los turnos con fecha, hora y tipo de marcación.
  3. El sistema genera un QR fijo para el registro público del evento.
  4. El participante abre el formulario desde el QR y proporciona los datos solicitados.
  5. El navegador obtiene la geolocalización del participante.
  6. El backend valida evento, turno, horario, distancia y duplicidad.
  7. Si las validaciones se cumplen, se registra la asistencia.
  8. Cuando se alcanza el mínimo requerido, el participante puede entrar al proceso de certificación.

Validaciones de asistencia

El registro no depende únicamente de escanear un código. Antes de guardar la asistencia, el backend comprueba varias condiciones para reducir registros incorrectos.

  • El evento debe estar activo.
  • Debe existir un turno disponible.
  • La marcación debe encontrarse dentro del horario permitido.
  • La ubicación debe encontrarse dentro del radio configurado.
  • No debe existir una marcación duplicada para el mismo turno y tipo.

QR fijo por evento

Cada evento dispone de una ruta pública propia. El QR apunta a esa ruta y puede reutilizarse durante la actividad, evitando generar un código diferente para cada participante.

La ruta pública utiliza un identificador tipo slug. La lógica de validación permanece en el backend; conocer la URL no es suficiente para registrar una asistencia válida.

Geolocalización

La ubicación del evento incluye un radio permitido. Al momento del registro se compara la posición del participante con la ubicación configurada para determinar si la marcación se encuentra dentro del área autorizada.

Formularios dinámicos

Los eventos pueden requerir información distinta. Por eso el sistema permite configurar campos asociados a cada evento en lugar de mantener un único formulario rígido para todos los casos.

Certificados

El módulo de certificados permite generar documentos a partir de la información registrada en el sistema. También contempla regeneración, descarga, envío por correo y verificación pública.

Módulos principales

  • Login y control de acceso.
  • Dashboard.
  • Eventos.
  • Turnos.
  • Campos dinámicos.
  • Asistencias.
  • Certificados.
  • Reportes.
  • Usuarios.
  • Personalización de estilo.
  • Auditoría.

Roles

Las funciones administrativas se distribuyen según el tipo de usuario:

  • Administrador: control general de usuarios, eventos, reportes, auditoría y estilo.
  • Operador: gestión operativa de turnos, asistencias y reportes.
  • Técnico: gestión relacionada con certificados.
  • Participante: utiliza el registro público asociado al evento.

Arquitectura técnica

El backend está construido con Laravel 12. La interfaz utiliza Vue 3 directamente mediante CDN, sin convertir el sistema en una SPA compilada. Axios se utiliza para las operaciones AJAX.

DomPDF genera los certificados PDF y Laravel Mail se encarga del envío de correos. La persistencia puede trabajar con MySQL o PostgreSQL.

Despliegue

La aplicación está pensada para poder desplegarse en un servidor compartido, por lo que la arquitectura evita depender de un proceso de compilación frontend permanente y mantiene una estructura compatible con un entorno PHP tradicional.

Auditoría

Las acciones críticas quedan registradas para facilitar el seguimiento administrativo. En un sistema de asistencia y certificación no solo importa el resultado final: también es necesario conocer qué operaciones modificaron la información.

Privacidad del proyecto

Esta ficha describe únicamente la funcionalidad pública y la arquitectura general. El código fuente, credenciales, configuraciones internas y repositorio del proyecto no se publican desde este sitio.