- Configure workspace Git repository with comprehensive .gitignore - Add Odoo as submodule for ERP reference code - Include documentation: SETUP.md, GIT-STRUCTURE.md - Add gitignore templates for projects (backend, frontend, database) - Structure supports independent repos per project/subproject level Workspace includes: - core/ - Reusable patterns, modules, orchestration system - projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.) - knowledge-base/ - Reference code and patterns (includes Odoo submodule) - devtools/ - Development tools and templates - customers/ - Client implementations template 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5.8 KiB
GUIA DE MIGRACION - Configuracion de API (Variables Granulares)
Fecha: 2025-11-24 Afecta a: Todos los desarrolladores del proyecto GAMILIT Frontend
QUE CAMBIO
El sistema de configuracion de API ahora usa variables granulares en lugar de URLs completas.
ANTES (Ya no funciona)
VITE_API_URL=http://localhost:3006/api
VITE_WS_URL=ws://localhost:3006
AHORA (Requerido)
VITE_API_HOST=localhost:3006
VITE_API_PROTOCOL=http
VITE_API_VERSION=v1
VITE_WS_HOST=localhost:3006
VITE_WS_PROTOCOL=ws
COMO ACTUALIZAR TU ENTORNO LOCAL
Paso 1: Actualizar tu archivo .env
cd apps/frontend
Edita tu archivo .env y reemplaza las variables legacy con las granulares:
# ELIMINAR ESTAS LINEAS (legacy):
# VITE_API_URL=http://localhost:3006/api
# VITE_WS_URL=ws://localhost:3006
# AGREGAR ESTAS LINEAS (granulares):
VITE_API_HOST=localhost:3006
VITE_API_PROTOCOL=http
VITE_API_VERSION=v1
VITE_WS_HOST=localhost:3006
VITE_WS_PROTOCOL=ws
Paso 2: Validar tu configuracion
npm run validate-env
Deberias ver:
✅ VITE_API_HOST: localhost:3006
✅ VITE_API_PROTOCOL: http
✅ Environment validation PASSED
Paso 3: Reiniciar tu servidor de desarrollo
npm run dev
TU CODIGO NO NECESITA CAMBIOS
El codigo existente que usa env.apiUrl y env.wsUrl sigue funcionando:
import { env } from '@/config/env';
// ✅ Esto sigue funcionando igual
const response = await fetch(`${env.apiUrl}/users`);
const socket = io(env.wsUrl);
Las URLs ahora se construyen automaticamente desde las variables granulares.
NUEVAS CAPACIDADES DISPONIBLES
Si necesitas acceso granular a los componentes de configuracion:
import { env } from '@/config/env';
// Acceso granular a protocolo, host, version
const protocol = env.api.protocol; // 'http'
const host = env.api.host; // 'localhost:3006'
const version = env.api.version; // 'v1'
// Construir URLs personalizadas
const customUrl = `${env.api.protocol}://${env.api.host}/custom-endpoint`;
// WebSocket granular
const wsProtocol = env.ws.protocol; // 'ws'
const wsHost = env.ws.host; // 'localhost:3006'
CONFIGURACION PARA DIFERENTES ENTORNOS
Development (.env)
VITE_API_HOST=localhost:3006
VITE_API_PROTOCOL=http
VITE_API_VERSION=v1
VITE_WS_HOST=localhost:3006
VITE_WS_PROTOCOL=ws
Production (.env.production)
VITE_API_HOST=74.208.126.102:3006 # o dominio cuando este disponible
VITE_API_PROTOCOL=http # cambiar a https cuando SSL este configurado
VITE_API_VERSION=v1
VITE_WS_HOST=74.208.126.102:3006
VITE_WS_PROTOCOL=ws # cambiar a wss cuando SSL este configurado
Testing (.env.test)
VITE_API_HOST=localhost:3006
VITE_API_PROTOCOL=http
VITE_API_VERSION=v1
VITE_WS_HOST=localhost:3006
VITE_WS_PROTOCOL=ws
VITE_MOCK_API=false
VALORES POR DEFECTO
Si no defines una variable, se usan estos defaults:
VITE_API_HOST -> 'localhost:3006'
VITE_API_PROTOCOL -> 'http'
VITE_API_VERSION -> 'v1'
VITE_WS_PROTOCOL -> 'ws'
VITE_WS_HOST -> mismo que VITE_API_HOST
Esto significa que en development puedes omitir estas variables y funcionara con localhost:3006.
VALIDACIONES DE PRODUCCION
El script de validacion ahora verifica:
- Variables requeridas presentes
- Host no apunta a localhost en produccion
- Protocolo es HTTPS en produccion (warning si no)
- WebSocket usa WSS en produccion (warning si no)
- Flags de debug deshabilitados en produccion
TROUBLESHOOTING
Error: "Missing required variable: VITE_API_HOST"
Solucion: Agrega VITE_API_HOST=localhost:3006 a tu archivo .env
Error: "Missing required variable: VITE_API_PROTOCOL"
Solucion: Agrega VITE_API_PROTOCOL=http a tu archivo .env
Las URLs construidas son incorrectas
Verificar:
npm run validate-env
Revisa que todas las variables esten correctamente definidas.
Mi build falla con errores de configuracion
Solucion:
- Verifica que tu
.envo.env.productiontenga las variables granulares - Ejecuta
npm run validate-envpara verificar configuracion - Si persiste, copia
.env.examplecomo base
REFERENCIA RAPIDA
Variables Requeridas (Minimo)
VITE_API_HOST=localhost:3006
VITE_API_PROTOCOL=http
Variables Opcionales (con defaults)
VITE_API_VERSION=v1 # default: 'v1'
VITE_WS_HOST=localhost:3006 # default: mismo que API_HOST
VITE_WS_PROTOCOL=ws # default: 'ws'
VITE_API_TIMEOUT=30000 # default: 30000
ARCHIVOS DE REFERENCIA
- Ejemplo completo:
apps/frontend/.env.example - Documentacion detallada:
IMPLEMENTATION-REPORT-API-CONFIG-HOMOLOGATION-2025-11-24.md - Resumen ejecutivo:
RESUMEN-HOMOLOGACION-API-CONFIG-2025-11-24.md - Codigo fuente:
apps/frontend/src/config/env.ts
PREGUNTAS FRECUENTES
Q: Tengo que cambiar mi codigo?
A: No. El codigo existente sigue funcionando sin cambios.
Q: Que pasa con VITE_API_URL y VITE_WS_URL?
A: Ya no se usan. Se construyen automaticamente desde variables granulares.
Q: Por que este cambio?
A: Para unificar configuracion, eliminar duplicacion, y facilitar cambios (ej: cambiar solo protocolo sin tocar host).
Q: Que pasa si no actualizo mi .env?
A: El build fallara con error "Missing required variable".
Q: Funciona con mi setup de Docker/CI/CD?
A: Si, solo actualiza las variables de entorno inyectadas.
SOPORTE
Si tienes problemas con la migracion:
- Revisa esta guia
- Consulta
IMPLEMENTATION-REPORT-API-CONFIG-HOMOLOGATION-2025-11-24.md - Verifica tu configuracion con
npm run validate-env - Compara tu
.envcon.env.example
Version: 1.0 Ultima actualizacion: 2025-11-24