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

  1. Clona el repositorio.
  2. Construye la imagen manualmente o usa el script interactivo:
    ./scripts/build_push.sh
    
  3. Ejecuta con las variables de entorno necesarias (ver contenedor.yaml como 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

  1. Utiliza la función de "Importar" y selecciona el archivo contenedor.yaml.
  2. 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:

  • /start o /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
No description provided
Readme 14 MiB
Languages
PHP 99%
Shell 0.6%
Dockerfile 0.3%