- 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>
3.5 KiB
_MAP: apps/devops/
Última actualización: 2025-11-07 Estado: 🟡 Funcional pero incompleto Versión: 2.0
📋 Propósito
Scripts de DevOps, validación y automatización para GAMILIT. Sistema Constants SSOT (Single Source of Truth).
Audiencia: DevOps Engineers, Backend Developers, Tech Leads
🗂️ Estructura
devops/
└── scripts/ # Scripts de automatización
├── sync-enums.ts # Sincronizar ENUMs Backend → Frontend
├── validate-constants-usage.ts # Detectar hardcoding (33 patrones)
└── validate-api-contract.ts # Validar Backend ↔ Frontend sync
🚀 Scripts Disponibles
sync-enums.ts
Sincroniza ENUMs de Backend → Frontend automáticamente.
Uso:
npm run sync:enums
Qué hace:
- Lee ENUMs de
apps/backend/src/shared/constants/enums.constants.ts - Genera
apps/frontend/src/shared/constants/enums.constants.ts - Mantiene sincronización automática
validate-constants-usage.ts
Detecta hardcoding de constantes (33 patrones).
Uso:
npm run validate:constants
Detecta:
- Strings hardcodeados de schemas/tablas
- URLs hardcodeadas
- ENUMs no importados
- Magic numbers
Output: Reporte de violaciones con ubicación exacta
validate-api-contract.ts
Valida que Backend y Frontend routes coincidan.
Uso:
npm run validate:api-contract
Valida:
- Endpoints Backend existen en Frontend
- Endpoints Frontend están implementados en Backend
- Contracts API consistentes
📊 Constants SSOT System
Implementado: Fase 0 - Ciclo 5 (2025-11-02)
Reglas de Oro
- ❌ NO hardcodear nombres de schemas, tablas, rutas API, ENUMs
- ✅ SIEMPRE importar desde archivos de constantes
- ✅ ACTUALIZAR constantes al agregar nuevas entidades
- ✅ SINCRONIZAR ENUMs Backend ↔ Frontend con script
- ✅ VALIDAR en CI/CD antes de merge
Cobertura Actual
| Categoría | Estado | Elementos |
|---|---|---|
| Database Schemas | ✅ 100% | 8 schemas |
| Database Tables | ✅ 100% | 40 tablas |
| API Routes | ✅ 100% | 75+ rutas |
| ENUMs | ✅ 100% | 25 ENUMs |
🚨 Issues Conocidos
P0 (Crítico)
-
P0-001: Sin Docker configs
- Faltan Dockerfiles para backend, frontend, database
- Esfuerzo: 4-6 horas
-
P0-002: Sin CI/CD workflows
- Faltan GitHub Actions para build, test, deploy
- Esfuerzo: 6-8 horas
P1 (Alto)
-
P1-001: Sin Kubernetes manifests
- Esfuerzo: 8-10 horas
-
P1-002: Sin scripts de deployment
- Esfuerzo: 4-6 horas
🎯 Próximos Pasos
Fase 1 - Urgente (Esta Semana)
- ✅ _MAP.md creado
- ⬜ Crear Dockerfiles (backend, frontend, database)
- ⬜ docker-compose.yml para desarrollo
- ⬜ GitHub Actions básico (lint + test)
Esfuerzo: 8-10 horas
Fase 2 - Alta Prioridad (Próximas 2 Semanas)
- ⬜ CI/CD completo (build + deploy)
- ⬜ Scripts de deployment
- ⬜ Kubernetes manifests básicos
- ⬜ Configurar PM2
Esfuerzo: 12-15 horas
📚 Documentación
Generado: 2025-11-07 Método: Sistema SIMCO - Fase 3 Versión: 1.0.0