Volver a proyectos

2026 · En producción

Sistema de Gestión de Servidores y Cultos

Aplicación web instalable para programar cultos y asignar roles de servicio

Rol: Desarrollo full stack

Contexto

La congregación organizaba los cultos y la asignación de roles de servicio en cuadernos y mensajes de WhatsApp. El sistema centraliza la programación, deja constancia de cada cambio y permite medir la rotación de participación entre los voluntarios.

De un vistazo

líneas propias
9.800
líneas propias
tablas migradas
11
tablas migradas
roles de servicio
27
roles de servicio
rutas web
36
rutas web

Tecnologías

  • Laravel 11
  • MySQL
  • Blade
  • JavaScript
  • Service Worker
  • dompdf
  • Apache

Lo más destacado

  • Reemplazos trazables: al sustituir un voluntario, la asignación original no se borra, se marca el motivo y se encadena la sustitución
  • Bitácora de auditoría con usuario, IP, agente de usuario y una descripción legible de cada acción
  • Control de acceso con tres roles mediante middleware propio, aplicado ruta por ruta
  • Generación de la orden del culto en PDF con la lista numerada según el orden elegido
  • Aplicación web progresiva instalable, con funcionamiento sin conexión a internet
  • Panel de estadísticas que calcula la tasa de rotación de voluntarios y los motivos de reemplazo más frecuentes
  • Calendario pastoral mensual con detalle por día sin recargar la página

El diseño del que más me enorgullece

El problema central era responder una pregunta que la congregación se hacía siempre: por qué alguien no llegó, y quién lo cubrió.

Un reemplazo normal borra la asignación anterior y se pierde el rastro. En cambio, la asignación original se conserva marcada como reemplazada, con su motivo, y apunta mediante una autorreferencia a la asignación que la sustituyó. Eso construye una cadena de sustituciones que permite auditar el historial completo y, además, alimenta las estadísticas de rotación.

Control de acceso

Cada módulo se restringe por rol: el secretario general administra todo, el líder de comité opera los cultos y las asignaciones, y el pastor accede al calendario pastoral y a los mensajes.

El middleware acepta varios roles por ruta, y las restricciones se leen directamente del archivo de rutas, sin tener que saltar entre archivos para entender quién puede ver qué.

Integridad de los datos

  • No se puede eliminar un voluntario que tiene asignaciones, ni un culto con asignaciones activas, ni un rol con usuarios.
  • Cada operación verifica que la asignación pertenezca al culto que se está editando, para impedir que alguien manipule desde la URL una asignación de otro culto.
  • Un usuario no puede desactivar ni eliminar su propia cuenta.
  • Las búsquedas ignoran mayúsculas y tildes: escribir maria encuentra a María.

Auditoría

Todas las escrituras pasan por un servicio único que registra quién hizo qué, sobre qué tabla, desde qué IP y con qué navegador, en lenguaje natural.

La bitácora se puede filtrar por rango de fechas y solo es visible para los roles autorizados.