# Publicar Pulso CEMI

Este paquete ejecuta React y la API Express desde un solo servicio Node.js.

## Opcion recomendada: Render

1. Descomprime el ZIP y sube su contenido a un repositorio privado de GitHub.
2. En Render crea un nuevo **Web Service** conectado al repositorio.
3. Configura:

```text
Runtime: Node
Build command: npm run install:all && npm run build
Start command: npm start
Health check: /api/health
```

4. Agrega estas variables:

```text
NODE_ENV=production
JWT_SECRET=una-clave-larga-aleatoria
CLIENT_ORIGIN=https://tu-servicio.onrender.com
DB_FILE=/var/data/cemi.sqlite
```

5. Agrega un disco persistente montado en `/var/data`. Esto evita perder SQLite al reiniciar o publicar una nueva version.

El archivo `render.yaml` incluido puede crear esta configuracion automaticamente como Blueprint.

## Hosting tradicional

El servidor necesita Node.js 20 o 22. No funciona en un alojamiento exclusivamente estatico.

```bash
npm run install:all
npm run build
NODE_ENV=production npm start
```

El proveedor debe:

- Exponer el puerto indicado en `PORT`.
- Mantener persistente el archivo indicado en `DB_FILE`.
- Usar HTTPS.
- Configurar `JWT_SECRET` como secreto, no dentro del codigo.

## Antes de uso real

- Cambia las contrasenas de los usuarios demo.
- Restringe el acceso al repositorio y respaldos.
- Para alta disponibilidad o varias instancias, migra SQLite a PostgreSQL.
- Revisa las politicas institucionales de privacidad y retencion de comentarios.
