# AUDIT-BACKEND-FRONTEND.md ## Auditoría de Coherencia Backend ↔ Frontend **Fecha:** 2026-01-28 **Proyecto:** trading-platform **Auditor:** Claude Code (Opus 4.5) **Fase:** F0.3.2 --- ## RESUMEN EJECUTIVO | Métrica | Valor | Target | Gap | |---------|-------|--------|-----| | **Coherencia Backend-Frontend** | 72% | 85% | -13pp | | **Endpoints totales** | 208+ | - | - | | **Endpoints con consumidor** | 147 | 208 | 61 faltantes | | **Services frontend** | 15 | 26 | 11 faltantes | | **Stores Zustand** | 8 | 17 | 9 faltantes | --- ## MAPEO DE MÓDULOS | Módulo | Endpoints | Service FE | Store | Cobertura | Estado | |--------|-----------|------------|-------|-----------|--------| | **auth** | 27 | ✅ | ✅ (implícito) | 100% | COMPLETO | | **users** | 6 | ✅ | ✅ (implícito) | 100% | COMPLETO | | **trading** | 47 | ✅ | ✅ tradingStore | 95% | INCOMPLETO | | **portfolio** | 12 | ✅ | ✅ portfolioStore | 100% | COMPLETO | | **investment** | 13 | ✅ | ❌ NO | 50% | INCOMPLETO | | **education** | 45 | ✅ | ✅ educationStore | 98% | INCOMPLETO | | **payments** | 20 | ✅ | ✅ paymentStore | 95% | INCOMPLETO | | **agents** | 16 | ✅ | ✅ agentsStore | 85% | INCOMPLETO | | **notifications** | 9 | ✅ | ✅ notificationStore | 100% | COMPLETO | | **market-data** | 4 | ⚠️ PARCIAL | ❌ NO | 50% | INCOMPLETO | | **ml** | 19 | ⚠️ limitado | ❌ NO | 60% | INCOMPLETO | | **llm** | 6 | ⚠️ parcial | ❌ NO | 50% | INCOMPLETO | | **currency** | 4 | ❌ NO | ❌ NO | 0% | ÓRFANO | | **audit** | 8 | ❌ NO | ❌ NO | 0% | ÓRFANO | | **admin** | 8 | ✅ | ❌ NO | 50% | INCOMPLETO | | **risk** | 7 | ❌ NO | ❌ NO | 0% | ÓRFANO | | **proxy** | 20 | ⚠️ indirecto | ❌ NO | 30% | INCOMPLETO | --- ## GAPS CRÍTICOS ### 1. Endpoints Sin Consumo Frontend (HIGH PRIORITY) **GAP-BF-001: Trading Alerts** (6 endpoints) - Rutas: POST/GET/PATCH/DELETE `/api/v1/trading/alerts*` - Estado: Backend ✅ | Frontend ❌ - Impacto: CRÍTICO - Feature de alertas NO funcional - Acción: Crear `alertsService.ts` **GAP-BF-002: Investment Withdrawals** (1 endpoint) - Ruta: GET `/api/v1/investment/withdrawals` - Estado: Backend ✅ | Frontend ❌ - Impacto: ALTO - Historial NO visible - Acción: Agregar a `investment.service.ts` **GAP-BF-003: Currency Module** (4 endpoints) - Rutas: GET `/api/v1/currency/rates*` - Estado: Backend ✅ | Frontend ❌ - Impacto: MEDIO - Conversión NO integrada - Acción: Crear `currencyService.ts` **GAP-BF-004: Risk Module** (7 endpoints) - Rutas: GET/POST `/api/v1/risk/*` - Estado: Backend ✅ | Frontend ❌ - Impacto: ALTO - Cuestionario NO visible - Acción: Crear `riskAssessment.service.ts` --- ### 2. Stores Faltantes | Store | Módulo | Prioridad | Esfuerzo | |-------|--------|-----------|----------| | **investmentStore** | investment | P0 | 4h | | **mlStore** | ml | P1 | 5h | | **llmStore** | llm | P1 | 5h | | **currencyStore** | currency | P2 | 2h | | **riskStore** | risk | P1 | 3h | | **adminStore** | admin | P2 | 3h | | **marketDataStore** | market-data | P2 | 4h | --- ## ANÁLISIS POR EPIC ### OQI-001 (fundamentos-auth) - 85% ✅ - Gaps: 2FA flow UI incompleto - Acción: Completar flujo verificación ### OQI-002 (educativo) - 55% ⚠️ - Gaps: Quiz history, video processing status - Acción: Refactorizar educationStore ### OQI-003 (trading-charts) - 60% ⚠️ - Gaps: Price alerts (SIN servicio) - Acción: Crear alertsService URGENTE ### OQI-004 (cuentas-inversion) - 55% ⚠️ - Gaps: investmentStore NO EXISTE - Acción: Crear store + expandir service ### OQI-005 (pagos-stripe) - 65% ⚠️ - Gaps: Refund history - Acción: Agregar a paymentStore ### OQI-006 (senales-ml) - 75% ⚠️ - Gaps: Signal caching, mlStore - Acción: Crear mlStore ### OQI-007 (llm-strategy-agent) - 45% ⚠️ - Gaps: Session management, llmStore - Acción: Crear llmStore ### OQI-008 (portfolio-manager) - 45% ✅ - Estado: Bueno, mejoras menores --- ## BAD PRACTICES DETECTADAS **Resultado: ✅ CERO HALLAZGOS CRÍTICOS** - ✅ Cero llamadas directas axios/fetch en componentes - ✅ Todos usan `apiClient` centralizado - ✅ Token auto-refresh implementado **FORTALEZA:** Arquitectura de servicios bien estructurada. --- ## RECOMENDACIONES PRIORIZADAS ### FASE 1 - CRÍTICA (Semana 1) **P1.1** Crear `alertsService.ts` + integrar en tradingStore - Endpoints: 6 - Esfuerzo: 3-4 horas **P1.2** Expandir `investment.service.ts` - Métodos: getWithdrawals, closeAccount, getDistributions - Esfuerzo: 2 horas **P1.3** Crear `investmentStore.ts` - Esfuerzo: 4 horas ### FASE 2 - ALTA (Semana 2) **P2.1** Crear `mlStore.ts` - Esfuerzo: 5 horas **P2.2** Refactorizar `mlService.ts` (type safety) - Esfuerzo: 3 horas **P2.3** Crear `riskAssessmentService.ts` - Esfuerzo: 4 horas ### FASE 3 - MEDIA (Semana 3) **P3.1** Crear `currencyService.ts` (si necesario) **P3.2** Crear `llmStore.ts` **P3.3** Documentar market-data vs trading endpoints --- ## CHECKLIST DE COHERENCIA ``` Para cada nuevo módulo/endpoint: □ Backend: □ Ruta en [module].routes.ts □ Controller implementado □ Service implementado □ Tests □ Frontend Service: □ Servicio en services/[module].service.ts □ Tipos importados □ Error handling □ Frontend Store: □ Store Zustand si hay estado global □ Actions CRUD □ Tests □ Coherencia: □ Validar con este audit □ Cobertura > 90% ``` --- *Generado: 2026-01-28 | Sistema SIMCO v4.0.0*