# Instalacion en cPanel para app.alphaevents.com.sv

Esta guia deja la app funcionando en el subdominio:

```text
https://app.alphaevents.com.sv
```

## 1. Crear el subdominio

En cPanel:

1. Entre a **Domains** o **Subdomains**.
2. Cree el subdominio:

```text
app.alphaevents.com.sv
```

3. Si cPanel pide una carpeta, puede usar:

```text
app.alphaevents.com.sv
```

## 2. Crear la base de datos MySQL

En cPanel:

1. Abra **MySQL Databases**.
2. Cree una base de datos, por ejemplo:

```text
banco_respuestas
```

cPanel normalmente le agregara su prefijo, por ejemplo:

```text
usuario_banco_respuestas
```

3. Cree un usuario MySQL, por ejemplo:

```text
banco_user
```

4. Asigne ese usuario a la base de datos con **All Privileges**.

Guarde estos datos:

```text
DB_HOST=localhost
DB_NAME=nombre_completo_de_la_base
DB_USER=nombre_completo_del_usuario
DB_PASSWORD=password_del_usuario_mysql
```

## 3. Subir los archivos

Suba todos los archivos de esta carpeta al directorio de la aplicacion en cPanel.

Debe subir como minimo:

```text
server.js
package.json
public/
data/
```

No necesita subir `node_modules`. cPanel lo instalara.

## 4. Crear la app Node.js

En cPanel:

1. Abra **Setup Node.js App**.
2. Presione **Create Application**.
3. Configure:

```text
Node.js version: 18, 20 o superior
Application mode: Production
Application root: carpeta donde subio la app
Application URL: app.alphaevents.com.sv
Application startup file: server.js
```

4. En variables de entorno agregue:

```text
DB_HOST=localhost
DB_PORT=3306
DB_NAME=nombre_completo_de_la_base
DB_USER=nombre_completo_del_usuario
DB_PASSWORD=password_del_usuario_mysql
HOST=127.0.0.1
```

No agregue `PORT` si cPanel ya lo maneja automaticamente.

## 5. Instalar dependencias

Dentro de **Setup Node.js App**, use la opcion:

```text
Run NPM Install
```

Si cPanel le muestra una terminal, tambien puede ejecutar:

```bash
npm install
```

## 6. Iniciar la aplicacion

En **Setup Node.js App**:

1. Presione **Start App** o **Restart**.
2. Abra:

```text
https://app.alphaevents.com.sv
```

La primera vez que abre la app, ella crea automaticamente las tablas en MySQL.

## 7. Prueba rapida

1. Cree un usuario.
2. Guarde una pregunta frecuente.
3. Escriba una pregunta parecida en "Responder a cliente".
4. Presione "Generar respuesta".
5. Revise que suban los conteos de dia, mes, anio y total.

## Notas importantes

Esta version usa usuarios seleccionables, pero todavia no tiene contrasenas. Para un uso interno puede funcionar bien; para acceso publico conviene agregar login.

Los datos quedan en MySQL cuando las variables `DB_HOST`, `DB_NAME` y `DB_USER` estan configuradas. Si esas variables no existen, la app usa el archivo local `data/db.json`.
