michangarrito/orchestration/_archive/analisis/historico/DEPENDENCIAS-ARCHIVOS-2026-01-06.md
Adrian Flores Cortes 2fb9f3f6b5
Some checks are pending
CI/CD Pipeline / Backend CI (push) Waiting to run
CI/CD Pipeline / Frontend CI (push) Waiting to run
CI/CD Pipeline / WhatsApp Service CI (push) Waiting to run
CI/CD Pipeline / Mobile CI (push) Waiting to run
CI/CD Pipeline / Docker Build (./apps/backend, ./apps/backend/Dockerfile, backend) (push) Blocked by required conditions
CI/CD Pipeline / Docker Build (./apps/frontend, ./apps/frontend/Dockerfile, frontend) (push) Blocked by required conditions
CI/CD Pipeline / Docker Build (./apps/whatsapp-service, ./apps/whatsapp-service/Dockerfile, whatsapp-service) (push) Blocked by required conditions
CI/CD Pipeline / Deploy to Production (push) Blocked by required conditions
[ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure
- Move 7 non-standard folders to _archive/
- Archive 3 extra root files
- Update _MAP.md with standardized structure

Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0
Level: CONSUMER (L2)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 14:38:04 -06:00

10 KiB

Analisis de Dependencias entre Archivos - FASE 4

Fecha: 2026-01-06 Ejecutor: PERFIL_ORQUESTADOR


Objetivo

Documentar las dependencias entre archivos que seran modificados en FASE 2, identificando el orden correcto de modificacion y posibles conflictos.


1. MAPA DE ARCHIVOS A MODIFICAR

1.1 Backend (apps/backend/)

apps/backend/
├── src/
│   ├── main.ts                          [MODIFICAR - Puerto]
│   ├── app.module.ts                    [MODIFICAR - TypeORM config]
│   ├── common/
│   │   └── middleware/
│   │       └── tenant.middleware.ts     [CREAR - RLS]
│   └── modules/
│       └── auth/
│           └── entities/
│               ├── tenant.entity.ts     [VERIFICAR - Schema sync]
│               └── user.entity.ts       [VERIFICAR - Schema sync]
├── .env                                 [CREAR/MODIFICAR]
└── .env.example                         [ACTUALIZAR]

1.2 Frontend (apps/frontend/)

apps/frontend/
├── src/
│   ├── main.tsx                         [SIN CAMBIOS]
│   ├── App.tsx                          [MODIFICAR - Rutas auth]
│   ├── lib/
│   │   └── api.ts                       [MODIFICAR - Interceptors]
│   ├── contexts/
│   │   └── AuthContext.tsx              [CREAR]
│   ├── pages/
│   │   ├── Login.tsx                    [CREAR]
│   │   ├── Register.tsx                 [CREAR]
│   │   ├── Dashboard.tsx                [MODIFICAR - API real]
│   │   ├── Products.tsx                 [MODIFICAR - API real]
│   │   ├── Orders.tsx                   [MODIFICAR - API real]
│   │   ├── Customers.tsx                [MODIFICAR - API real]
│   │   ├── Fiado.tsx                    [MODIFICAR - API real]
│   │   ├── Inventory.tsx                [MODIFICAR - API real]
│   │   └── Settings.tsx                 [MODIFICAR - API real]
│   └── components/
│       └── Layout.tsx                   [MODIFICAR - Auth nav]
├── vite.config.ts                       [MODIFICAR - Proxy]
└── .env                                 [CREAR]

1.3 WhatsApp Service (apps/whatsapp-service/)

apps/whatsapp-service/
├── src/
│   ├── main.ts                          [MODIFICAR - Puerto]
│   └── webhook/
│       └── webhook.service.ts           [MODIFICAR - Backend calls]
└── .env                                 [ACTUALIZAR]

1.4 MCP Server (apps/mcp-server/)

apps/mcp-server/
├── src/
│   └── index.ts                         [MODIFICAR - Backend URL]
└── .env                                 [CREAR/ACTUALIZAR]

2. GRAFO DE DEPENDENCIAS

2.1 Dependencias Backend

.env (DB credentials)
    │
    ▼
app.module.ts (TypeORM import)
    │
    ├──────────────────────────────────┐
    │                                  │
    ▼                                  ▼
tenant.middleware.ts              entity/*.ts
    │                                  │
    └──────────┬───────────────────────┘
               │
               ▼
        main.ts (middleware registration)

Orden de modificacion Backend:

  1. .env - Credenciales DB
  2. app.module.ts - TypeORM config
  3. *.entity.ts - Verificar schemas
  4. tenant.middleware.ts - Crear nuevo
  5. main.ts - Puerto y middleware

2.2 Dependencias Frontend

.env (API URL)
    │
    ▼
vite.config.ts (proxy)
    │
    ▼
api.ts (axios config)
    │
    ▼
AuthContext.tsx (estado auth)
    │
    ├────────────────────────────────────────────┐
    │                                            │
    ▼                                            ▼
App.tsx (rutas)                            Layout.tsx (nav)
    │
    ├──► Login.tsx
    ├──► Register.tsx
    ├──► Dashboard.tsx
    ├──► Products.tsx
    ├──► Orders.tsx
    ├──► Customers.tsx
    ├──► Fiado.tsx
    ├──► Inventory.tsx
    └──► Settings.tsx

Orden de modificacion Frontend:

  1. .env - API URL
  2. vite.config.ts - Proxy
  3. api.ts - Interceptors
  4. AuthContext.tsx - Crear
  5. Login.tsx - Crear
  6. Register.tsx - Crear
  7. App.tsx - Rutas
  8. Layout.tsx - Nav auth
  9. Pages (paralelo)

2.3 Dependencias WhatsApp Service

.env (Backend URL, WhatsApp tokens)
    │
    ▼
main.ts (puerto)
    │
    ▼
webhook.service.ts (backend calls)

Orden: .envmain.tswebhook.service.ts

2.4 Dependencias MCP Server

.env (Backend URL)
    │
    ▼
index.ts (URL config)

Orden: .envindex.ts


3. DEPENDENCIAS CROSS-PROJECT

3.1 Backend ← Otros Servicios

                    ┌── Frontend (api.ts)
                    │
Backend (main.ts) ◄─┼── WhatsApp Service (webhook.service.ts)
                    │
                    └── MCP Server (index.ts)

Implicacion: Backend DEBE estar funcionando antes de probar otros servicios

3.2 Database ← Backend

PostgreSQL (schemas DDL)
         │
         ▼
   Backend (TypeORM)

Implicacion: Database DEBE tener schemas creados antes de iniciar backend


4. ARCHIVOS CRITICOS Y SU IMPACTO

4.1 Archivos de Alto Impacto (Riesgo Alto)

Archivo Impacto Razon
app.module.ts CRITICO Configuracion central NestJS
api.ts ALTO Todas las llamadas API pasan aqui
AuthContext.tsx ALTO Estado de autenticacion global
vite.config.ts MEDIO Proxy afecta todas las llamadas
main.ts (backend) MEDIO Puerto y bootstrap

4.2 Archivos de Bajo Riesgo

Archivo Impacto Razon
Dashboard.tsx BAJO Cambio aislado
Products.tsx BAJO Cambio aislado
Settings.tsx BAJO Cambio aislado

5. CONFLICTOS POTENCIALES

5.1 Conflictos de Configuracion

Conflicto Archivos Resolucion
Puerto duplicado main.ts (backend vs whatsapp) Usar 3141 y 3143
DB credentials .env en multiples proyectos Centralizar en root
API URL api.ts vs webhook.service.ts Usar variable de entorno

5.2 Conflictos de Versionado

Item Backend Frontend Accion
TypeORM 0.3.19 N/A OK
Axios 1.6.5 1.13.2 Actualizar backend
TypeScript 5.3.3 5.9.3 OK (compatible)

6. ORDEN DE MODIFICACION RECOMENDADO

6.1 Dia 1: Preparacion y Backend Core

Hora 1-2:
  [1] database/.env.example → Verificar/crear
  [2] apps/backend/.env → Crear con credenciales

Hora 3-4:
  [3] apps/backend/src/app.module.ts → TypeORM config

Hora 5-6:
  [4] apps/backend/src/modules/**/entities/*.ts → Verificar sync

Hora 7-8:
  [5] apps/backend/src/common/middleware/tenant.middleware.ts → Crear
  [6] apps/backend/src/main.ts → Puerto + middleware

6.2 Dia 2: Frontend Auth

Hora 1-2:
  [7] apps/frontend/.env → Crear
  [8] apps/frontend/vite.config.ts → Proxy

Hora 3-4:
  [9] apps/frontend/src/lib/api.ts → Interceptors

Hora 5-8:
  [10] apps/frontend/src/contexts/AuthContext.tsx → Crear
  [11] apps/frontend/src/pages/Login.tsx → Crear
  [12] apps/frontend/src/pages/Register.tsx → Crear
  [13] apps/frontend/src/App.tsx → Rutas
  [14] apps/frontend/src/components/Layout.tsx → Nav

6.3 Dia 3: Frontend Pages + Services

Hora 1-4 (paralelo):
  [15] Dashboard.tsx
  [16] Products.tsx
  [17] Orders.tsx
  [18] Customers.tsx

Hora 5-6:
  [19] Fiado.tsx
  [20] Inventory.tsx
  [21] Settings.tsx

Hora 7-8:
  [22] apps/whatsapp-service/.env
  [23] apps/whatsapp-service/src/main.ts
  [24] apps/mcp-server/.env
  [25] apps/mcp-server/src/index.ts

6.4 Dia 4: WhatsApp + MCP Integration

Hora 1-4:
  [26] apps/whatsapp-service/src/webhook/webhook.service.ts

Hora 5-8:
  Testing y ajustes

7. MATRIZ DE IMPACTO

# Archivo Depende de Afecta a Riesgo
1 .env (db) - 3 BAJO
2 .env (backend) 1 3 BAJO
3 app.module.ts 2 4,5,6 ALTO
4 entities/*.ts 3 5 MEDIO
5 tenant.middleware.ts 3 6 MEDIO
6 main.ts (backend) 3,5 9,23,25 ALTO
7 .env (frontend) - 8 BAJO
8 vite.config.ts 7 9 MEDIO
9 api.ts 6,8 10-21 ALTO
10 AuthContext.tsx 9 11-14 ALTO
11 Login.tsx 10 13 MEDIO
12 Register.tsx 10 13 MEDIO
13 App.tsx 10,11,12 15-21 ALTO
14 Layout.tsx 10 15-21 MEDIO
15-21 Pages 9,10,13,14 - BAJO
22-23 WhatsApp .env/main 6 26 BAJO
24-25 MCP .env/index 6 - BAJO
26 webhook.service.ts 22,23 - MEDIO

8. ROLLBACK PLAN

8.1 Puntos de Checkpoint

Checkpoint Despues de Verificacion
CP1 Paso 6 Backend inicia, DB conectada
CP2 Paso 14 Frontend login funciona
CP3 Paso 21 Todas las paginas cargan
CP4 Paso 26 WhatsApp webhook responde

8.2 Rollback por Checkpoint

Fallo en Rollback a Accion
CP1 Sin cambios Revisar .env y app.module
CP2 CP1 Revisar api.ts y AuthContext
CP3 CP2 Revisar paginas individuales
CP4 CP3 Revisar webhook.service.ts

9. CONCLUSIONES

9.1 Archivos Criticos (No modificar sin backup)

  1. apps/backend/src/app.module.ts
  2. apps/frontend/src/lib/api.ts
  3. apps/frontend/src/contexts/AuthContext.tsx

9.2 Orden Inviolable

  1. Database schemas primero
  2. Backend .env segundo
  3. Backend TypeORM tercero
  4. Backend middleware cuarto
  5. Frontend despues de backend funcionando

9.3 Recomendaciones

  • Hacer commit despues de cada checkpoint
  • Probar backend aislado antes de frontend
  • Usar branch feature para cambios

Fin de Analisis de Dependencias FASE 4