84 lines
3.3 KiB
Markdown
84 lines
3.3 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 manualmente o usa el script interactivo:
|
|
```bash
|
|
./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`):
|
|
```bash
|
|
./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.
|