# Bitácora del Proyecto: Francia Ocupada (La Resistencia)
**Fecha:** 10 de Diciembre de 2025
**Versión actual:** v1.0

---

## 1. Resumen de Actividades Realizadas

### 🔧 Corrección de Entornos (Desarrollo vs Producción)
- **Problema detectado:** La aplicación en producción (`franciaocupada.martivich.es`) intentaba conectarse a `localhost`, provocando advertencias de seguridad en el navegador y fallos de conexión desde redes externas.
- **Solución implementada:**
  - Se han separado los archivos de orquestación de Docker:
    1.  `docker-compose.yml`: Configurado para desarrollo local (`localhost:3000` y `localhost:4000`).
    2.  `docker-compose_prod.yml`: Nuevo archivo optimizado para producción.
  - Se configuraron las variables de entorno `NEXT_PUBLIC_API_URL` y `CORS_ORIGIN` para apuntar al dominio público en el archivo de producción.

### 🌐 Configuración de Proxy Inverso (Nginx Proxy Manager)
- Se ha definido la arquitectura correcta para el despliegue tras un Nginx Proxy Manager:
  - **Frontend:** `franciaocupada.martivich.es` -> Redirige al contenedor cliente (puerto 3000).
  - **Backend (API):** `api.franciaocupada.martivich.es` -> Redirige al contenedor servidor (puerto 4000).
- Se habilitó soporte para **WebSockets** y **SSL** (Force SSL, HTTP/2) en el proxy.

### 📦 Gestión de Versiones (Git & Gitea)
- **Release v1.0:**
  - Se creó un commit de consolidación ("Release v1.0").
  - Se etiquetó la versión con `git tag v1.0`.
  - Se normalizó la rama principal renombrándola de `fix-gameboard` a `main`.
- **Configuración del Repositorio Remoto:**
  - Se cambió el nombre del repositorio en Gitea a **FranciaOcupada**.
  - Se configuró la autenticación mediante **HTTPS + Token Personal** (más didáctico para la docencia) en lugar de SSH.
  - Se configuró el `credential.helper store` para evitar reintroducir credenciales constantemente.
  - Se añadió `GiteaToken.txt` al `.gitignore` por seguridad.
  - Se realizó la subida inicial completa (`git push -u origin main` y `git push origin --tags`).

---

## 2. Próximos Pasos (Roadmap)

### 🚀 Implementación de CI/CD (Gitea Actions)
El siguiente gran objetivo es automatizar el ciclo de vida del desarrollo.

#### Pipeline de Integración Continua (Local/Dev)
- **Objetivo:** Ejecutar pruebas automáticas al hacer push para asegurar la calidad del código.
- **Herramientas:** Gitea Actions (compatible con sintaxis GitHub Actions).

#### Pipeline de Despliegue Continuo (Producción)
- **Objetivo:** Desplegar automáticamente la nueva versión en el servidor cuando se publique un Tag (ej: `v1.1`).
- **Tareas pendientes:**
  1.  Habilitar/Verificar Runners en Gitea.
  2.  Crear el archivo workflow `.gitea/workflows/deploy.yaml`.
  3.  Configurar la construcción de imágenes Docker y su subida al Gitea Container Registry.
  4.  Automatizar el comando de despliegue en el servidor remoto vía SSH (`docker compose -f ... up -d`).

### 🛠️ Mejoras Futuras
- Revisar logs de producción para posibles ajustes de rendimiento.
- Documentar el proceso de alta de nuevos desarrolladores (alumnos).
