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 indb22aab) - _INDEX.yml (already committed indb22aab) 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>
15 KiB
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