trading-platform/orchestration/tareas/TASK-2026-01-25-FRONTEND-MODULE-DOCS/02-ANALISIS.md
Adrian Flores Cortes 51c7ccc37b docs: Complete TASK-2026-01-25-FRONTEND-MODULE-DOCS
Created 7 new module READMEs and updated 1 existing README (ml) for
frontend modules following template from INTEGRATION-PLAN.md:

READMEs Created (2,750 lines):
- auth/README.md (250 lines) - OQI-001, 7 pages, 4 components
- trading/README.md (600 lines) - OQI-003, 38 components, 50+ APIs
- payments/README.md (400 lines) - OQI-005, 15 components, 27 APIs
- investment/README.md (350 lines) - OQI-004, 6 components, 17 APIs
- education/README.md (450 lines) - OQI-002, 13 components, 38 APIs
- assistant/README.md (400 lines) - OQI-007, 18 components, 6+ APIs
- portfolio/README.md (300 lines) - OQI-008, 5 components, 13 APIs

README Updated (+100 lines):
- ml/README.md - Added 4 OQI-006 components (ConfidenceMeter,
  SignalPerformanceTracker, ModelAccuracyDashboard,
  BacktestResultsVisualization)

Total: 2,850 lines documenting 8 modules, 32 pages, 105+ components,
190+ APIs across all 9 epics.

CAPVED Documentation:
- METADATA.yml, 01-CONTEXTO.md, 02-ANALISIS.md, 03-PLANEACION.md,
  05-EJECUCION.md, 06-DOCUMENTACION.md

Updated inventories:
- TRACEABILITY.yml (historial entry)
- MASTER_INVENTORY.yml (already committed in db22aab)
- _INDEX.yml (already committed in db22aab)

Note: READMEs are in apps/ which is in .gitignore of monorepo, so
only orchestration docs committed here.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 23:23:22 -06:00

15 KiB
Raw Blame History

02-ANALISIS - Frontend Module Documentation

Tarea: TASK-2026-01-25-FRONTEND-MODULE-DOCS Fase CAPVED: A - Análisis Fecha: 2026-01-25 Responsable: Claude Opus 4.5


RESUMEN EJECUTIVO

Se analizaron los 8 módulos frontend de trading-platform usando 8 agentes Explore en paralelo. El análisis revela una arquitectura modular consistente con patrones de diseño uniformes.

Estado: Análisis completado Módulos analizados: 8/8 (100%) Tiempo de ejecución: ~5 minutos (paralelo)


1. HALLAZGOS POR MÓDULO

1.1 Auth Module (OQI-001)

Ubicación: apps/frontend/src/modules/auth/

Estructura encontrada:

  • Páginas (6): Login, Register, ForgotPassword, ResetPassword, VerifyEmail, AuthCallback, SecuritySettings
  • Componentes (4): PhoneLoginForm, SocialLoginButtons, DeviceCard, SessionsList
  • Hooks: No encontrados en el módulo (probablemente en shared)
  • Services: Integrado con authStore (Zustand)
  • Store: stores/authStore.ts (JWT, session management)

APIs Consumidas:

  • POST /auth/login - Autenticación
  • POST /auth/register - Registro
  • POST /auth/forgot-password - Recuperación
  • POST /auth/reset-password - Reset de contraseña
  • GET /auth/verify-email - Verificación email
  • GET /auth/session - Validación de sesión
  • POST /auth/logout - Cierre de sesión

Características especiales:

  • Social login (Google, Facebook, Apple)
  • Phone authentication
  • Device tracking y gestión de sesiones
  • Security settings management

1.2 Education Module (OQI-002)

Ubicación: apps/frontend/src/modules/education/

Estructura encontrada:

  • Páginas (6): Courses, CourseDetail, MyLearning, Lesson, Quiz, Leaderboard
  • Componentes (13): VideoProgressPlayer, CourseProgressTracker, XPProgress, StreakCounter, AchievementBadge, LeaderboardTable, LessonNotes, CourseReviews, RecommendedCourses, VideoUploadForm, CreatorDashboard, CertificateGenerator, LiveStreamPlayer
  • Hooks: No custom hooks (usa educationStore)
  • Services: education.service.ts (38 endpoints)
  • Store: educationStore.ts (cursos, quizzes, gamificación)
  • Types: education.types.ts (completo)

APIs Consumidas (38 endpoints):

  • Categorías (2): GET/POST /education/categories
  • Cursos (6): GET/POST /education/courses, /courses/:id, /courses/slug/:slug
  • Lecciones (4): GET/POST /education/lessons/:id
  • Enrollments (4): GET/POST /education/my/enrollments
  • Quizzes (9): GET/POST /education/quizzes, attempts, results
  • Gamificación (9): GET/POST /education/gamification/*
  • Admin (8+): POST /education/courses, modules, lessons

Características especiales:

  • Sistema de gamificación (XP, streaks, achievements, leaderboard)
  • Video player con bookmarks y notas
  • Quiz system con time limits
  • Creator dashboard con analytics
  • Live streaming support

1.3 Trading Module (OQI-003)

Ubicación: apps/frontend/src/modules/trading/

Estructura encontrada:

  • Páginas (1): Trading (dashboard principal multi-panel)
  • Componentes (38): CandlestickChartWithML, WatchlistSidebar, OrderForm, PaperTradingPanel, MLSignalsPanel, MT4ConnectionStatus, RiskMonitor, AdvancedOrderEntry, TradingScreener, MarketDepthPanel, etc.
  • Hooks (1): useMT4WebSocket (WebSocket para MT4)
  • Services (2): trading.service.ts (API principal), mlService.ts (ML Engine)
  • Store: tradingStore.ts (market data, paper trading, watchlist)
  • Types: trading.types.ts

APIs Consumidas (50+ endpoints):

  • Market Data: GET /trading/market/* (klines, price, ticker, orderbook)
  • Indicators: GET /trading/indicators/:symbol/* (SMA, EMA, RSI, MACD, Bollinger)
  • Watchlists: GET/POST/DELETE /trading/watchlists/*
  • Paper Trading: GET/POST /trading/paper/* (orders, positions, balances)
  • Alerts: GET/POST/DELETE /trading/alerts/*
  • ML Engine: POST http://localhost:3083/api/* (signals, ICT, ensemble, scan)
  • LLM Agent: POST http://localhost:3085/api/* (MT4 integration)

Características especiales:

  • ML-powered predictions con ICT/SMC analysis
  • Paper trading sandbox
  • Real MT4 integration via WebSocket
  • Advanced charting con lightweight-charts
  • Risk monitoring en tiempo real

1.4 Investment Module (OQI-004)

Ubicación: apps/frontend/src/modules/investment/

Estructura encontrada:

  • Páginas (8): Investment, Portfolio, AccountDetail, Products, ProductDetail, Reports, Transactions, Withdrawals
  • Componentes (6): AccountSummaryCard, PerformanceWidgetChart, ProductComparisonTable, AccountSettingsPanel, DepositForm, WithdrawForm
  • Hooks (2): useMLAnalysis, useQuickSignals
  • Services: investment.service.ts (17 endpoints)
  • Store: portfolioStore.ts (con WebSocket)
  • Types: investment.types.ts

APIs Consumidas (17 endpoints):

  • Products: GET /investment/products, /products/:id, /products/:id/performance
  • Accounts: GET/POST /investment/accounts, /accounts/:id, /accounts/:id/close
  • Transactions: GET/POST /investment/accounts/:id/transactions, /deposit, /withdraw
  • Distributions: GET /investment/accounts/:id/distributions
  • Withdrawals: GET /investment/withdrawals

Características especiales:

  • 3 trading agents (Atlas, Orion, Nova) con perfiles de riesgo
  • Stripe integration para deposits
  • Dual withdrawal (bank transfer + crypto)
  • Real-time portfolio tracking via WebSocket
  • Performance analytics con export

1.5 Payments Module (OQI-005)

Ubicación: apps/frontend/src/modules/payments/

Estructura encontrada:

  • Páginas (4): Pricing, Billing, CheckoutSuccess, CheckoutCancel
  • Componentes (15): PricingCard, SubscriptionCard, WalletCard, UsageProgress, PaymentMethodForm, InvoiceList, TransactionHistory, etc.
  • Hooks: Ninguno (usa paymentStore directamente)
  • Services: payment.service.ts (27 endpoints)
  • Store: paymentStore.ts (subscriptions, wallet, invoices)
  • Types: payment.types.ts

APIs Consumidas (27 endpoints):

  • Plans: GET /payments/plans, /plans/:slug
  • Subscriptions: GET/POST /payments/subscription, /subscription/cancel, /subscription/change-plan
  • Checkout: POST /payments/checkout, /payments/billing-portal
  • Payment Methods: GET/POST/DELETE /payments/methods
  • Invoices: GET /payments/invoices, /invoices/:id/pdf
  • Wallet: GET/POST /payments/wallet, /wallet/transactions, /wallet/deposit, /wallet/withdraw
  • Coupons: POST /payments/coupons/validate
  • Billing Info: GET/PUT /payments/billing-info
  • Usage: GET /payments/usage

Características especiales:

  • Stripe integration completa
  • Plan management (free/basic/pro/premium/enterprise)
  • Wallet system con deposits/withdrawals
  • Usage tracking y limits enforcement
  • Prorated pricing para cambios de plan

1.6 ML Module (OQI-006)

Ubicación: apps/frontend/src/modules/ml/

Estructura encontrada:

  • Páginas (1): MLDashboard (tabs: Signals, ICT Analysis, Ensemble)
  • Componentes (12): AMDPhaseIndicator, PredictionCard, SignalsTimeline, AccuracyMetrics, ICTAnalysisCard, EnsembleSignalCard, TradeExecutionModal, ConfidenceMeter (NEW), SignalPerformanceTracker (NEW), ModelAccuracyDashboard (NEW), BacktestResultsVisualization (NEW)
  • Hooks (2): useMLAnalysis (con caché de 1 minuto), useQuickSignals
  • Services: mlService.ts (11 endpoints en port 3083)
  • Store: NO (usa hooks directamente)
  • Types: ml.types.ts
  • README: YA EXISTE (pero necesita actualización con 4 componentes nuevos)

APIs Consumidas (11 endpoints):

  • Signals: GET/POST /api/v1/signals/latest/:symbol, /signals/active, /signals/generate
  • AMD: GET /api/v1/amd/detect/:symbol
  • Range: GET /api/v1/predict/range/:symbol
  • Backtest: POST /api/v1/backtest/run
  • ICT: POST /api/ict/:symbol
  • Ensemble: POST/GET /api/ensemble/:symbol, /ensemble/quick/:symbol
  • Scan: POST /api/scan
  • Health: GET /health

Características especiales:

  • ML Engine en puerto 3083 (FastAPI)
  • AMD Phase detection (Accumulation/Manipulation/Distribution)
  • ICT/SMC analysis (Order Blocks, Fair Value Gaps)
  • Ensemble signals (multi-model voting)
  • Backtesting con performance metrics
  • Auto-refresh cada 60 segundos
  • Cache inteligente de 1 minuto

1.7 Assistant Module (OQI-007)

Ubicación: apps/frontend/src/modules/assistant/

Estructura encontrada:

  • Páginas (1): Assistant (LLM copilot interface)
  • Componentes (18): ChatMessage, ChatInput, SignalCard, ConversationHistory, ContextPanel, ChatHeader, MessageList, MessageSearch, MarkdownRenderer, ToolCallCard, MessageFeedback, StreamingIndicator, AssistantSettingsPanel, SignalExecutionPanel, AnalysisRequestForm (NEW OQI-007), StrategyTemplateSelector (NEW), LLMConfigPanel (NEW), ContextMemoryDisplay (NEW)
  • Hooks (2): useChatAssistant (chat logic), useStreamingChat (SSE streaming)
  • Services (2): chat.service.ts (port 3000), llmAgentService.ts (port 3085)
  • Store: chatStore.ts (sessions, messages, persistence)
  • Types: chat.types.ts

APIs Consumidas (6 + LLM Agent):

  • Chat API (port 3000): GET/POST/DELETE /api/v1/llm/sessions, /sessions/:id/chat, GET /analyze/:symbol
  • LLM Agent (port 3085): POST predictions, backtesting; GET risk summary, active signals

Características especiales:

  • Claude models (3.5 Sonnet/Opus/Haiku) integration
  • Server-Sent Events (SSE) streaming
  • Conversation history con persistence
  • Tool calls visualization
  • Trading signal generation via LLM
  • Context memory con checkpoints
  • Message feedback system

1.8 Portfolio Module (OQI-008)

Ubicación: apps/frontend/src/modules/portfolio/

Estructura encontrada:

  • Páginas (4): PortfolioDashboard, CreatePortfolio, EditAllocations, CreateGoal
  • Componentes (5): AllocationChart (SVG donut), AllocationTable, GoalCard, PerformanceChart (Canvas), RebalanceCard
  • Hooks: Ninguno (usa portfolioStore)
  • Services: portfolio.service.ts (13 endpoints)
  • Store: portfolioStore.ts (con WebSocket)
  • Types: Definidos en portfolio.service.ts

APIs Consumidas (13 endpoints):

  • Portfolio: GET/POST /api/v1/portfolio, /portfolio/:id, PUT /portfolio/:id/allocations
  • Rebalance: GET/POST /api/v1/portfolio/:id/rebalance
  • Stats: GET /api/v1/portfolio/:id/stats
  • Performance: GET /api/v1/portfolio/:id/performance?period=
  • Goals: GET/POST/PUT/DELETE /api/v1/portfolio/goals

Características especiales:

  • 10 crypto assets soportados (BTC, ETH, USDT, SOL, LINK, AVAX, ADA, DOT, MATIC, UNI)
  • 3 risk profiles (Conservative, Moderate, Aggressive)
  • Real-time updates via WebSocket
  • Canvas-based custom charts (no libraries)
  • Goal tracking con progress monitoring
  • AI-powered rebalancing recommendations

2. ANÁLISIS COMPARATIVO

2.1 Patrones Arquitectónicos Comunes

Patrón Módulos que lo usan
Zustand Store auth, education, trading, payments, portfolio, assistant (chatStore)
Service Layer (Axios) Todos (8/8)
TypeScript Types Todos (8/8)
Pages + Components Todos (8/8)
Custom Hooks trading (1), investment (2), ml (2), assistant (2)
WebSocket investment (portfolioStore), portfolio, trading (useMT4WebSocket)
Real-time Updates trading, investment, portfolio, assistant (SSE)

2.2 Complejidad por Módulo

Módulo Páginas Componentes Hooks Endpoints Complejidad
trading 1 38 1 50+ Muy alta
education 6 13 0 38 Alta
assistant 1 18 2 6+ Alta
payments 4 15 0 27 Media-alta
ml 1 12 2 11 Media
investment 8 6 2 17 Media
auth 6 4 0 7 Baja-media
portfolio 4 5 0 13 Baja-media

2.3 Tecnologías Especiales por Módulo

  • trading: lightweight-charts, WebSocket MT4, ML Engine integration
  • education: Video player avanzado, gamification system, live streaming
  • payments: Stripe integration, wallet system
  • investment: Stripe deposits, bank/crypto withdrawals
  • ml: FastAPI ML Engine (port 3083), backtesting
  • assistant: Claude AI, SSE streaming, tool calls
  • portfolio: Canvas charts (custom), WebSocket real-time
  • auth: Social login, phone auth, device tracking

3. INVENTARIO DE APIs POR MÓDULO

APIs Totales: ~190 endpoints

Módulo Base URL Endpoints Puerto
auth /auth/* 7 3080
education /education/* 38 3080
trading /trading/* + ML Engine 50+ 3080 + 3083 + 3085
investment /investment/* 17 3080
payments /payments/* 27 3080
ml ML Engine API 11 3083
assistant /api/v1/llm/* + LLM Agent 6+ 3000 + 3085
portfolio /portfolio/* 13 3080

4. HALLAZGOS CLAVE

4.1 Consistencia Arquitectónica

  • Todos los módulos siguen estructura pages/ + components/
  • Service layer uniforme con Axios
  • TypeScript types completos
  • Zustand como state manager estándar

4.2 Módulos con README Existente

  • ml: Ya tiene README.md pero necesita actualización con 4 componentes nuevos (ConfidenceMeter, SignalPerformanceTracker, ModelAccuracyDashboard, BacktestResultsVisualization)

4.3 Módulos Sin Custom Hooks

  • auth, education, payments, portfolio → usan stores directamente
  • trading, investment, ml, assistant → tienen hooks especializados

4.4 Integración de Servicios Externos

  • Stripe: payments, investment
  • ML Engine (FastAPI): ml, trading, investment, assistant
  • LLM Agent: assistant, trading (MT4)
  • WebSocket: trading, investment, portfolio

5. DATOS RECOPILADOS PARA READMEs

Toda la información necesaria ha sido recopilada:

auth: 6 páginas, 4 componentes, 7 APIs education: 6 páginas, 13 componentes, 38 APIs, gamificación trading: 1 página, 38 componentes, 1 hook, 50+ APIs, ML integration investment: 8 páginas, 6 componentes, 2 hooks, 17 APIs, Stripe payments: 4 páginas, 15 componentes, 27 APIs, Stripe wallet ml: 1 página, 12 componentes, 2 hooks, 11 APIs, README a actualizar assistant: 1 página, 18 componentes, 2 hooks, 6+ APIs, Claude SSE portfolio: 4 páginas, 5 componentes, 13 APIs, WebSocket


6. PRÓXIMOS PASOS

Fase P (Planeación):

  • Definir orden de creación de READMEs
  • Validar template con un ejemplo
  • Preparar contenido específico por módulo

Estimación de esfuerzo:

  • 7 READMEs nuevos × 45 min = 5.25 horas
  • 1 README actualización × 15 min = 0.25 horas
  • Total: 5.5 horas

Estado: Fase A completada Siguiente fase: P - Planeación