# Despliegue — inscripciones-evg

## Estructura en el servidor

```
tfg-inscripciones/
├── front/      ← contenido de esta carpeta front/
└── back/       ← contenido de esta carpeta back/
```

## Pasos

### 1. Subir archivos

- **`front/`** → subir todo a la ruta pública del frontend  
  Ejemplo: `public_html/tfg-inscripciones/front/`

- **`back/`** → subir todo a la ruta del backend  
  Ejemplo: `public_html/tfg-inscripciones/back/`

### 2. Configurar `.env` (IMPORTANTE antes de subir)

Editar `back/.env` con los valores reales de producción:

```
JWT_SECRET=   ← copiar el mismo valor que usa INTRANET_EVG
DB_HOST=      ← host de la base de datos
DB_NAME=      ← nombre de la BD
DB_USER=      ← usuario de la BD
DB_PASS=      ← contraseña de la BD
URL_ANGULAR_ORIGIN=https://13.proyectos.esvirgua.com
URL_FRONT=https://13.proyectos.esvirgua.com/tfg-inscripciones/front/
```

### 3. Ejecutar migración SQL

En phpMyAdmin o consola MySQL, ejecutar sobre la BD de inscripciones:

```
back/migrations/001_tokens_revocados.sql
```

Solo hace falta ejecutarla una vez.

### 4. Verificar permisos

El servidor necesita poder leer todos los archivos de `back/`.  
Si hay restricciones de permisos: `chmod 644` para archivos, `chmod 755` para carpetas.

### 5. Roles necesarios en INTRANET_EVG

En la tabla `tm_roles` de INTRANET deben existir estos roles asignados a los usuarios:

| Rol en INTRANET             | Acceso en inscripciones     |
|-----------------------------|-----------------------------|
| `coordinador_inscripciones` | Gestión completa            |
| `profesor`                  | Gestión Torneo Olímpico     |
| `tutor`                     | Solo lectura                |
| `alumno` / `alumno_dualex`  | Sin acceso (403)            |
