Files
contenedor_ibiza/README.md

76 lines
3.0 KiB
Markdown

# 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:
```bash
docker build -t contenedor-ibiza .
```
3. Ejecuta con las variables de entorno necesarias (ver `contenedor.yaml` como ejemplo).
### 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.