# Guía de instalación — Núcleo de Gestión de Consultas

Esta guía instala SOLO este primer módulo, en el subdominio
`gestionconsultas.hablemosdeendocrino.com`, sin tocar `app.hde`, `panel.hde` ni
`hde-consultas`. Lee primero `LEEME_NUCLEO.md`.

## 1. Crear el subdominio (si todavía no existe)

En cPanel: Dominios → Crear un subdominio → `gestionconsultas` sobre
`hablemosdeendocrino.com`. Usa una carpeta propia, por ejemplo
`gestionconsultas.hablemosdeendocrino.com` (no la mezcles con `panel.hde` ni `app.hde`).

## 2. Subir los archivos

Sube **todo** el contenido de esta carpeta a la raíz del subdominio, conservando la
estructura:
```
api/
public/
sql/
docs/
```
La web debe apuntar a la carpeta `public/` como raíz pública (document root). Si tu
hosting no permite elegir ese document root, mueve el contenido de `public/` a la
raíz del subdominio y ajusta la ruta `API` en `public/assets/app.js` (`../api/index.php`
→ `api/index.php`) y deja `api/` fuera de la raíz pública o protegida (ver paso 5).

## 3. Completar la configuración

Edita `api/lib/config.php` y completa:
- `GC_DB_USER` y `GC_DB_PASS`: las credenciales del usuario MySQL que ya usa
  `app.hablemosdeendocrino.com` sobre la base `prannetc_hde_app` (o crea un usuario
  nuevo con permisos sobre esa misma base, si prefieres aislarlo).
- Deja `GC_NOTIF_MODO = 'log'` hasta que decidas el proveedor de correo/WhatsApp (ver
  `LEEME_NUCLEO.md`).

## 4. Verificar el esquema real y correr el SQL aditivo

**No te saltes esto.** Sigue el Paso 0 de `sql/01_nucleo_consultas_app.sql` primero
(verificar `usuarios.rol` actual). Luego, sobre una copia/backup de la base primero:

```sql
-- desde phpMyAdmin o la línea de comandos de MySQL
SOURCE sql/01_nucleo_consultas_app.sql;
```

Confirma que no haya errores. Recién entonces corre el mismo script contra la base
real `prannetc_hde_app`.

## 5. Proteger la carpeta `api/`

`api/lib/config.php` tiene las credenciales de la base — asegúrate de que no sea
accesible directo desde el navegador. Si `api/` quedó dentro de la raíz pública,
agrega un `.htaccess` dentro de `api/lib/` con:
```
Deny from all
```
(o el equivalente en tu panel, si usas Nginx).

## 6. Crear el primer usuario de Gestión de Consultas

Por ahora no hay pantalla de "Usuarios" (es un módulo futuro), así que el primer
usuario se crea directo en la base. Reemplaza el rol y el hash de la contraseña (usa
`password_hash('tu_clave', PASSWORD_DEFAULT)` en un script PHP de un solo uso, nunca
guardes la contraseña en texto plano):

```sql
UPDATE usuarios SET rol = 'gerencia' WHERE correo = 'tu_correo@hablemosdeendocrino.com';
```
Si el usuario ya existe en `usuarios` por ser `admin` de panel.hde, puedes reusar esa
fila cambiando el `rol`; si no existe, créalo con un INSERT que incluya
`password_hash`.

## 7. Probar

1. Entra a `https://gestionconsultas.hablemosdeendocrino.com/`.
2. Inicia sesión con el usuario del paso 6.
3. Deberías ver "Consultas por día" vacío (no hay citas de ejemplo — esto no es el
   demo, es el sistema real). Para probarlo con una cita real, puedes:
   - Crear una cita de prueba desde `app.hde` con un paciente de prueba, o
   - Insertar una fila de prueba directo en `citas` con `origen = 'app'` y
     `confirmada = 0` para probar el flujo de confirmación.
4. Revisa `storage/notificaciones.log` después de confirmar una cita de prueba — ahí
   debe aparecer el mensaje simulado.

## Si algo falla

Revisa `storage/errores.log` (se crea solo). La mayoría de errores en esta primera
instalación van a ser de nombres de columna que no coinciden exactamente con lo que
asume el código — ver la sección "Antes de instalar" de `LEEME_NUCLEO.md`.
