Files
BeyondCXAnalytics_AE/README.md
igferne 49b2677783 Readme
2026-01-07 13:45:40 +01:00

193 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Beyond Diagnosis
Beyond Diagnosis es una aplicación de análisis de operaciones de contact center.
Permite subir un CSV con interacciones y genera:
- Análisis de volumetría por canal y skill
- Métricas operativas (AHT, escalaciones, recurrencia, etc.)
- CSAT global y métricas de satisfacción
- Modelo económico (coste anual, ahorro potencial, etc.)
- Matriz de oportunidades y roadmap basados en datos reales
- Cálculo de *agentic readiness* para priorizar iniciativas de automatización
La arquitectura está compuesta por:
- **Frontend** (React + Vite)
- **Backend** (FastAPI + Python)
- **Nginx** como proxy inverso y terminación TLS
- **Docker Compose** para orquestar los tres servicios
En producción, la aplicación se sirve en **HTTPS (443)** con certificados de **Lets Encrypt**.
---
## Requisitos
Para instalación manual o con el script:
- Servidor **Ubuntu** reciente (20.04 o superior recomendado)
- Dominio apuntando al servidor (ej: `app.cliente.com`)
- Puertos **80** y **443** accesibles desde Internet (para Lets Encrypt)
- Usuario con permisos de `sudo`
> El script de instalación se encarga de instalar Docker, docker compose plugin y certbot si no están presentes.
---
## Instalación con script (recomendada)
### 1. Copiar el script al servidor
Conéctate al servidor por SSH y crea el fichero:
```bash
nano install_beyond.sh
```
Pega dentro el contenido del script de instalación que has preparado (el que:
- Instala Docker y dependencias
- Pide dominio, email, usuario y contraseña
- Clona/actualiza el repo en `/opt/beyonddiagnosis`
- Solicita el certificado de Lets Encrypt
- Genera la configuración de Nginx con SSL
- Lanza `docker compose build` + `docker compose up -d`
).
Guarda (`Ctrl + O`, Enter) y sal (`Ctrl + X`).
Hazlo ejecutable:
```bash
chmod +x install_beyond.sh
```
### 2. Ejecutar el instalador
Ejecuta el script como root (o con sudo):
```bash
sudo ./install_beyond.sh
```
El script te pedirá:
- **Dominio** de la aplicación (ej. `app.cliente.com`)
- **Email** para Lets Encrypt (avisos de renovación)
- **Usuario** de acceso (Basic Auth / login)
- **Contraseña** de acceso
- **URL del repositorio Git** (por defecto usará la que se haya dejado en el script)
Te mostrará un resumen y te preguntará si quieres continuar.
A partir de ahí, el proceso es **desatendido**, pero irá indicando cada paso:
- Instalación de Docker + docker compose plugin + certbot
- Descarga o actualización del repositorio en `/opt/beyonddiagnosis`
- Sustitución de credenciales en `docker-compose.yml`
- Obtención del certificado de Lets Encrypt para el dominio indicado
- Generación de `nginx/conf.d/beyond.conf` con configuración HTTPS
- Construcción de imágenes y arranque de contenedores con `docker compose up -d`
### 3. Acceso a la aplicación
Una vez finalizado:
- La aplicación estará disponible en:
**https://TU_DOMINIO**
- Inicia sesión con el **usuario** y **contraseña** que has introducido durante la instalación.
---
## Estructura de la instalación
Por defecto, el script instala todo en:
```text
/opt/beyonddiagnosis
├── backend/ # Código del backend (FastAPI)
├── frontend/ # Código del frontend (React + Vite)
├── nginx/
│ └── conf.d/
│ └── beyond.conf # Configuración nginx para este dominio
└── docker-compose.yml # Orquestación de backend, frontend y nginx
```
Servicios en Docker:
- `backend` → FastAPI en el puerto 8000 interno
- `frontend` → React en el puerto 4173 interno
- `nginx` → expone 80/443 y hace de proxy:
- `/` → frontend
- `/api/` → backend
Los certificados de Lets Encrypt se almacenan en:
```text
/etc/letsencrypt/live/TU_DOMINIO/
```
y se montan en el contenedor de Nginx como volumen de solo lectura.
---
## Actualización de la aplicación
Para desplegar una nueva versión del código:
```bash
cd /opt/beyonddiagnosis
sudo git pull
sudo docker compose build
sudo docker compose up -d
```
Esto:
- Actualiza el código desde el repositorio
- Reconstruye las imágenes
- Levanta los contenedores con la nueva versión sin perder datos de configuración ni certificados.
---
## Gestión de la aplicación
Desde `/opt/beyonddiagnosis`:
- Ver estado de los contenedores:
```bash
docker compose ps
```
- Ver logs en tiempo real:
```bash
docker compose logs -f
```
- Parar la aplicación:
```bash
docker compose down
```
---
## Uso básico
1. Accede a `https://TU_DOMINIO`.
2. Inicia sesión con las credenciales configuradas en la instalación.
3. Sube un fichero CSV con las columnas esperadas (canal, skill, tiempos, etc.).
4. La aplicación enviará el fichero al backend, que:
- Calcula métricas de volumetría, rendimiento, satisfacción y costes.
- Devuelve un JSON estructurado con el análisis.
5. El frontend muestra:
- Dashboard de métricas clave
- Dimensiones (volumetría, performance, satisfacción, economía, eficiencia…)
- Heatmap por skill
- Oportunidades y roadmap basado en datos reales.
Este README junto con el script de instalación permiten desplegar la aplicación de forma rápida y homogénea en un servidor por cliente.