- 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>
157 lines
3.5 KiB
Markdown
157 lines
3.5 KiB
Markdown
# _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:**
|
|
```bash
|
|
npm run sync:enums
|
|
```
|
|
|
|
**Qué hace:**
|
|
1. Lee ENUMs de `apps/backend/src/shared/constants/enums.constants.ts`
|
|
2. Genera `apps/frontend/src/shared/constants/enums.constants.ts`
|
|
3. Mantiene sincronización automática
|
|
|
|
---
|
|
|
|
### validate-constants-usage.ts
|
|
Detecta hardcoding de constantes (33 patrones).
|
|
|
|
**Uso:**
|
|
```bash
|
|
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:**
|
|
```bash
|
|
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
|
|
|
|
1. ❌ NO hardcodear nombres de schemas, tablas, rutas API, ENUMs
|
|
2. ✅ SIEMPRE importar desde archivos de constantes
|
|
3. ✅ ACTUALIZAR constantes al agregar nuevas entidades
|
|
4. ✅ SINCRONIZAR ENUMs Backend ↔ Frontend con script
|
|
5. ✅ 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)
|
|
|
|
1. ✅ _MAP.md creado
|
|
2. ⬜ Crear Dockerfiles (backend, frontend, database)
|
|
3. ⬜ docker-compose.yml para desarrollo
|
|
4. ⬜ GitHub Actions básico (lint + test)
|
|
|
|
**Esfuerzo:** 8-10 horas
|
|
|
|
### Fase 2 - Alta Prioridad (Próximas 2 Semanas)
|
|
|
|
5. ⬜ CI/CD completo (build + deploy)
|
|
6. ⬜ Scripts de deployment
|
|
7. ⬜ Kubernetes manifests básicos
|
|
8. ⬜ Configurar PM2
|
|
|
|
**Esfuerzo:** 12-15 horas
|
|
|
|
---
|
|
|
|
## 📚 Documentación
|
|
|
|
- [README.md (root)](../../README.md#constants-ssot)
|
|
- [POLITICA-CONSTANTS-SSOT.md](../../docs-analysis/miniworkspace-migration/06-agents/migracion-desarrollo/POLITICA-CONSTANTS-SSOT.md)
|
|
- [CONSTANTS-ARCHITECTURE.md](../../docs-analysis/miniworkspace-migration/06-agents/migracion-desarrollo/CONSTANTS-ARCHITECTURE.md)
|
|
|
|
---
|
|
|
|
**Generado:** 2025-11-07
|
|
**Método:** Sistema SIMCO - Fase 3
|
|
**Versión:** 1.0.0
|