# FASE 4: MIGRACION DE PROYECTOS **Estado:** Pendiente **Duracion Estimada:** 5-10 dias (total) **Dependencias:** Fase 1, 2, 3 completadas --- ## OBJETIVO Migrar cada proyecto del workspace actual a repositorios independientes, implementando: 1. Estructura de repo independiente 2. Service descriptors para cada servicio 3. Integracion con registries del control-plane 4. Docker compose actualizado con redes aisladas --- ## PROYECTOS A MIGRAR | Proyecto | Prioridad | Complejidad | Duracion Est. | |----------|-----------|-------------|---------------| | **Gamilit** | P0 | Media | 2-3 dias | | **ERP Suite** | P1 | Alta | 3-4 dias | | **Trading Platform** | P2 | Alta | 2-3 dias | | **Betting Analytics** | P3 | Baja | 1 dia | --- ## ORDEN DE MIGRACION ``` 1. GAMILIT (Proyecto modelo) - Es el mas avanzado (60% MVP) - Servira como template para los demas - Stack: NestJS + React (standard) 2. ERP SUITE (Mas complejo) - Multi-vertical - Requiere estructura especial para verticales - Stack: Express + React 3. TRADING PLATFORM (Microservicios) - Multiples servicios (backend, ml, llm, trading) - Stack mixto: Express + FastAPI + React 4. BETTING ANALYTICS (Menos avanzado) - Solo planificacion - Estructura basica ``` --- ## ESTRUCTURA OBJETIVO POR PROYECTO ### Proyecto Standalone (Gamilit, Trading, Betting) ``` {proyecto}-platform/ | +-- apps/ | +-- backend/ | | +-- service.descriptor.yml # NUEVO | | +-- src/ | | +-- package.json | | +-- Dockerfile | +-- frontend/ | | +-- service.descriptor.yml # NUEVO | | +-- src/ | | +-- package.json | | +-- Dockerfile | +-- database/ | +-- ddl/ | +-- seeds/ | +-- scripts/ | +-- docker/ | +-- docker-compose.yml # ACTUALIZADO (sin puertos publicos) | +-- docker-compose.dev.yml | +-- docker-compose.prod.yml | +-- .env.example | +-- orchestration/ # MIGRADO de projects/{proyecto}/orchestration | +-- inventarios/ | +-- trazas/ | +-- 00-guidelines/ | +-- docs/ # MIGRADO de projects/{proyecto}/docs | +-- .github/ | +-- workflows/ # CI/CD del proyecto | +-- README.md +-- package.json # Root package.json (workspaces) ``` ### Suite Multi-Vertical (ERP Suite) ``` erp-suite/ | +-- apps/ | +-- erp-core/ | | +-- backend/ | | | +-- service.descriptor.yml | | +-- frontend/ | | | +-- service.descriptor.yml | | +-- database/ | | | +-- verticales/ | +-- construccion/ | | +-- backend/ | | | +-- service.descriptor.yml | | +-- frontend/ | | +-- database/ | +-- mecanicas-diesel/ | +-- vidrio-templado/ | +-- retail/ | +-- clinicas/ | +-- docker/ | +-- docker-compose.yml | +-- docker-compose.construccion.yml | +-- docker-compose.mecanicas.yml | +-- orchestration/ | +-- inventarios/ | | +-- SUITE_MASTER_INVENTORY.yml | +-- 00-guidelines/ | +-- docs/ | +-- README.md ``` --- ## CAMBIOS CLAVE EN DOCKER COMPOSE ### ANTES (Workspace actual) ```yaml # docker-compose.yml con puertos expuestos services: gamilit-api: ports: - "3000:3000" # PUBLICO - PROBLEMA ``` ### DESPUES (Workspace v1) ```yaml # docker-compose.yml con redes internas services: gamilit-api: expose: - "3000" # Solo interno networks: - gamilit_net labels: - "traefik.enable=true" - "traefik.http.routers.gamilit-api.rule=Host(`api.gamilit.localhost`)" networks: gamilit_net: name: gamilit_${ENV:-dev} ``` --- ## SUBFASES POR PROYECTO Cada proyecto sigue estas subfases: ### A. Analisis 1. Inventario de archivos actuales 2. Identificar servicios 3. Mapear puertos y dominios actuales 4. Identificar dependencias ### B. Planeacion 1. Definir estructura de carpetas 2. Crear service descriptors 3. Definir docker-compose actualizado 4. Planificar migracion de archivos ### C. Validacion de Plan 1. Verificar contra registries 2. Verificar dependencias 3. Verificar que no faltan archivos ### D. Implementacion 1. Crear estructura de carpetas 2. Copiar/mover archivos 3. Crear service descriptors 4. Actualizar docker-compose 5. Actualizar referencias (imports, paths) 6. Ejecutar build y tests ### E. Validacion Final 1. Build pasa 2. Tests pasan 3. Docker compose levanta 4. Service descriptors validos 5. Registries actualizados --- ## DOCUMENTOS POR PROYECTO ``` 04-fase-proyectos/ | +-- README.md # Este archivo | +-- gamilit/ | +-- ANALISIS/ | | +-- 00-PLAN-ANALISIS.md | | +-- 01-INVENTARIO-ACTUAL.md | | +-- 02-SERVICIOS.md | | +-- 03-DEPENDENCIAS.md | +-- PLANEACION/ | | +-- 00-ESTRUCTURA-NUEVA.md | | +-- 01-SERVICE-DESCRIPTORS.md | | +-- 02-DOCKER-COMPOSE.md | | +-- 03-TAREAS.md | +-- IMPLEMENTACION/ | | +-- 00-LOG-MIGRACION.md | +-- PROMPTS/ | | +-- PROMPT-BACKEND-AGENT.md | | +-- PROMPT-FRONTEND-AGENT.md | | +-- PROMPT-DEVOPS-AGENT.md | +-- VALIDACION/ | +-- CHECKLIST.md | +-- erp-suite/ | +-- (misma estructura) | +-- trading-platform/ | +-- (misma estructura) | +-- betting-analytics/ +-- (misma estructura) ``` --- ## SIGUIENTE PASO 1. Completar Fases 1, 2, 3 2. Comenzar con Gamilit (proyecto modelo) 3. Usar Gamilit como template para los demas --- **Coordinador:** Tech-Leader