Sistema de Gestión de Contenedor Ibiza
Aplicación web integral para la gestión automatizada de rotaciones de turnos, horarios y notificaciones para el contenedor de Ibiza.
🚀 Características Principales
- Gestión de Rotaciones Automatizada: Generación automática de turnos semanales basada en un "Orden Maestro" personalizable.
- Roles de Usuario: Sistema de permisos granular (Administrador, Coordinador, Ayudante).
- Bot de Telegram Integrado:
- Consultas interactivas (Itinerario, Horarios, PDF) mediante botones.
- Búsqueda de turnos por nombre natural.
- Gestión de Webhook desde panel administrativo.
- Generación de PDF: Reportes descargables con la programación completa.
- Interfaz Robusta: Diseño responsive, drag-and-drop para reordenar turnos.
- Docker Ready: Preparado para despliegue en CasaOS, ZimaOS o Portainer.
📋 Requisitos
- Docker y Docker Compose
- Servidor MySQL/MariaDB externo (o en otro contenedor)
🛠️ Instalación y Despliegue
Opción A: Docker Compose / Portainer
- Clona el repositorio.
- Construye la imagen manualmente o usa el script interactivo:
./scripts/build_push.sh - Ejecuta con las variables de entorno necesarias (ver
contenedor.yamlcomo ejemplo).
Actualización de Imagen (Registry Privado)
Para generar una nueva versión y subirla a tu registro (10.10.4.3:5000):
./scripts/build_push.sh
El script solicitará la versión (tag) y se encargará del build y el push automáticamente.
Opción B: CasaOS / ZimaOS
- Utiliza la función de "Importar" y selecciona el archivo
contenedor.yaml. - Ajusta las variables de entorno en la interfaz antes de finalizar.
⚙️ Variables de Entorno
| Variable | Descripción | Ejemplo |
|---|---|---|
DB_HOST |
Host de la base de datos (IP:Puerto) | 10.10.4.17:3306 |
DB_NAME |
Nombre de la base de datos | contenedor_ibiza |
DB_USER |
Usuario de MySQL | usuario |
DB_PASS |
Contraseña de MySQL | password |
SITE_URL |
URL pública de la aplicación | https://tu-dominio.com |
TELEGRAM_BOT_TOKEN |
Token del Bot de Telegram | 123456:ABC-DEF... |
TIMEZONE |
Zona horaria (PHP) | America/Mexico_City |
📖 Manual de Uso Rápido
1. Administrador
- Gestión de Usuarios: Crea y edita cuentas. Asigna roles de Coordinador o Ayudante.
- Telegram: Configura el Webhook del bot con un solo clic desde el menú "Telegram".
- Rotaciones: Puede regenerar todo el calendario si es necesario.
2. Coordinador
- Reorganizar: Usa la herramienta "Reorganizar Orden" (drag & drop) para cambiar quién sigue a quién en la rotación permanente.
- Horarios: Modifica las horas de apertura/cierre de cada día.
3. Ayudante / Usuario
- Consulta su turno en el Dashboard.
- Descarga el PDF de rotaciones.
- Interactúa con el Bot de Telegram para consultar info rápida.
🤖 Comandos del Bot
El bot cuenta con un menú interactivo, pero también reconoce:
/starto/menu: Muestra los botones.- (Escribir nombre): Busca turnos futuros para esa persona (ej: "Ana").
/tabla: Muestra el listado de próximas semanas./pdf: Envía el documento PDF.
Desarrollado para Condominio Ibiza.
Description
Languages
PHP
99%
Shell
0.6%
Dockerfile
0.3%