- Enhanced MLPredictionOverlay with confidence bands (upper/lower bounds)
- Improved SignalMarkers with tooltips, signal types (BUY/SELL/HOLD), and click handlers
- Fixed ICTConceptsOverlay rectangle rendering with proper area series
- Added OverlayControlPanel for toggle/configuration of all overlays
- Created usePredictions hook for ML price predictions
- Created useSignals hook for trading signals
- Created useChartOverlays composite hook for unified overlay management
- Updated exports in index.ts files
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
SPRINT 4 (128 SP):
SUBTASK-007 Education (21 SP):
- Add QuizHistoryCard with stats and trend indicators
- Add EarnedCertificates with search, sort, sharing
- Enhance CourseDetail with "Resume where you left off"
SUBTASK-008 LLM Agent (44 SP):
- Add MemoryManager with conversation history management
- Add LLMToolsPanel with tool enable/disable and execution history
- Add FineTuningPanel with model selection and training config
SUBTASK-009 Portfolio (63 SP):
- Add MonteCarloSimulator with VaR/CVaR calculations
- Add CorrelationMatrix with heatmap visualization
- Add RebalancingPanel with drift thresholds and history
- Add GoalsManager with savings rate calculator
- Add RiskAnalytics with comprehensive metrics
SPRINT 5 (55 SP):
SUBTASK-010 Marketplace (42 SP):
- Create full marketplace module structure
- Add MarketplaceCatalog with grid/list view, filters
- Add SignalPackCard, SignalPackDetail pages
- Add AdvisoryCard, AdvisoryDetail with booking
- Add CourseProductCard, ReviewCard components
- Add marketplace types, service, and store
- Add routes: /marketplace, /marketplace/signals/:slug, etc.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ST-003.2: ML Overlay (13 SP)
- Add AMDZonesOverlay component for accumulation/manipulation/distribution visualization
- AMD zones rendered as colored shaded areas on chart
- Prediction lines and signal markers already implemented
ST-003.6: Screener Advanced (8 SP)
- Add volumeRatio, trend, mlSignal, mlConfidence columns
- Add 4 new filter presets: Bullish/Bearish Trend, Change >2%, ML Buy Signal
- Vol Ratio column with color coding (>2x amber, >1x green)
- ML Signal badge with confidence percentage
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
SUBTASK-003: Trading Core Features
- OrderForm: Add TP/SL validation based on trade direction (LONG/SHORT)
- TradingStatsPanel: Add Sharpe Ratio and Max Drawdown metrics
- TradesHistory: Add Export CSV button with full trade details
Metrics already implemented: Win Rate, Profit Factor, Total PnL
Alerts system: Already fully implemented (create, list, delete, toggle)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
SUBTASK-001: Routing fixes
- Add lazy-loaded route for /portfolio/:portfolioId
- Add navigation links from PortfolioDashboard to portfolio detail
- Verify /settings/billing is intentional dual-route (no changes needed)
SUBTASK-002: Auth improvements
- Extend ActiveSession type with device details (deviceType, browser, os, location)
- DeviceCard now uses backend data when available, falls back to userAgent parsing
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Services:
- alerts.service.ts: Alert management
- currency.service.ts: Currency conversion
- risk.service.ts: Risk calculation
Stores:
- investmentStore.ts: Investment state management
- llmStore.ts: LLM integration state
- mlStore.ts: ML model state
- riskStore.ts: Risk metrics state
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add tradingAgents.types.ts with complete type definitions
- Add agents.service.ts for Trading Agents API integration
- Add agentsStore.ts (Zustand) for state management
- Add BotCard.tsx, AgentCard.tsx, AgentsList.tsx components
- Add AgentsPage.tsx for /trading/agents route
- Fix TypeScript errors in AgentsList.tsx:
- Add handlers for startBot with default config
- Use correct AgentType for selectBot
Total: 8 new files, ~3,000 LOC
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update mlService.ts to use apiClient with /proxy/ml/* endpoints
- Update llmAgentService.ts to use apiClient with /proxy/llm/* endpoints
- Update backtestService.ts to use apiClient with /proxy/data/* and /proxy/ml/*
- Update adminService.ts to use apiClient for ML model operations
ARCH-002: Frontend services now use authenticated Express proxy
- Token auto-refresh via apiClient interceptor
- Centralized error handling
- Unified session management
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add complete implementation of ML overlay components:
- MLPredictionOverlay: Renders ML price predictions as line overlay
- SignalMarkers: Displays BUY/SELL signal markers on chart
- ICTConceptsOverlay: Renders Order Blocks, FVG, and Liquidity zones
- useMlOverlayData: Custom hook with TanStack Query for data fetching
- mlOverlay.types.ts: Type definitions for all ML overlay data
Features:
- Uses lightweight-charts API for efficient rendering
- Automatic caching with 60s stale time
- Configurable colors and visibility
- Clean up on component unmount
- Full TypeScript support
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Created three complete 2FA components integrating with existing backend endpoints:
1. TwoFactorSetup.tsx (auth/components)
- 3-step wizard for 2FA setup
- QR code display with manual entry fallback
- TOTP code verification
- Backup codes display with copy functionality
- Integrates with POST /auth/2fa/setup and /auth/2fa/enable
2. TwoFactorVerifyModal.tsx (auth/components)
- Modal for 2FA verification during login
- Support for both TOTP (6 digits) and backup codes (8 digits)
- Auto-submit for TOTP codes
- Switch between code types
- Auto-focus input field
3. TwoFactorSettings.tsx (settings/components)
- Management panel for 2FA in settings
- Enable/disable 2FA with confirmation
- Regenerate backup codes
- Status display with activation date
- Integrates with all 2FA endpoints
All components follow project patterns:
- Tailwind CSS styling matching existing components
- lucide-react icons
- Centralized apiClient with auto-refresh
- Complete TypeScript types
- No placeholders or TODOs
Related: GAP-P1-004 2FA Frontend Flow
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Backend WS: Changed from localhost:3000/ws/trading to localhost:3080/ws
- ML Engine WS: Changed from localhost:8001 to localhost:3083
- Portfolio WS: Changed from localhost:3000/ws/portfolio to localhost:3080/ws
- Backend uses single /ws path with message types for channel differentiation
- ML Engine has dedicated /ws/signals endpoint
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace simulated video upload with real multipart upload to backend.
New Files:
- src/services/video-upload.service.ts (NEW): Complete multipart upload service
- Initialize upload with backend
- Split file into 5MB parts
- Upload parts to S3/R2 using presigned URLs
- Upload max 3 parts in parallel
- Complete upload and return video object
- Full upload flow with progress callbacks
Updated Files:
- src/modules/education/components/VideoUploadForm.tsx (UPDATED):
- Import videoUploadService
- Replace simulated upload (lines 214-248) with real API calls
- Use progress callbacks to update UI
- Handle real video ID on completion
- Maintain all existing UI/UX behavior
Upload Flow:
1. User selects video + fills metadata
2. Call videoUploadService.uploadVideo()
3. Backend initializes multipart upload
4. Split file into 5MB chunks
5. Upload chunks to S3/R2 (presigned URLs)
6. Backend completes upload
7. Video processing starts automatically
8. UI shows real-time progress
Technical Details:
- Part size: 5MB (optimal for network)
- Max concurrent uploads: 3 parts
- Uses fetch API for S3 direct upload
- ETags returned for multipart completion
- Full error handling and retry capability
Status: BLOCKER-003 (ST4.3) - 89% complete (5/6 tasks done)
Task: #10 ST4.3.5 - Frontend integrar VideoUploadForm con backend
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Delete PaymentMethodForm.tsx (PCI-DSS violation)
- Remove export from components/payments/index.ts
- Component was NOT in use (legacy/demo code)
Violation: Component handled card data directly (PAN, CVV, expiry)
in state and sent raw data to backend.
Compliant alternatives:
- Stripe Customer Portal (add payment methods)
- CardElement + Payment Intents (one-time payments)
Blocker: BLOCKER-002 (ST4.2 PCI-DSS Compliance)
Epic: OQI-005
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Created src/types/portfolio.types.ts
- Added all portfolio type definitions aligned with DDL
- Includes WebSocket event types for real-time updates
- Types match backend portfolio.types.ts structure
Part of coherence gap fix E-COH-004 - Frontend portfolio types.
Types align with DDL schema (portfolio.* enums and tables).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ModelSelector: Model selection with dropdown/tabs/cards variants
- EnsemblePanel: Ensemble voting configuration with weight sliders
- ICTAnalysisPanel: ICT analysis parameters with collapsible sections
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- StripeElementsWrapper: PCI-DSS compliance foundation with HOC and hook
- InvoicePreview: Pre-checkout invoice display with itemized breakdown
- RefundRequestModal: Modal for refund requests with validation
- RefundList: Paginated refund history with status filters
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- OrderBookDepthVisualization: Canvas-based depth chart with bid/ask areas
- MarketDepthPanel: Complete market depth with filters and grouping
- SymbolComparisonChart: Multi-symbol comparison with normalization modes
- TradingScreener: Advanced screener with filters and saved presets
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- AnalysisRequestForm: Structured request builder for complex analysis tasks
- StrategyTemplateSelector: Pre-built strategy templates with AI recommendations
- LLMConfigPanel: Model selection and inference parameters (Claude models)
- ContextMemoryDisplay: Conversation context and memory visualization
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ConfidenceMeter: Advanced confidence visualization with model agreement
- SignalPerformanceTracker: Signal history with filters and statistics
- ModelAccuracyDashboard: Individual model metrics and comparison
- BacktestResultsVisualization: Backtest results with trades and monthly returns
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CourseProgressTracker: Comprehensive progress visualization
- LearningPathVisualizer: Visual roadmap for learning paths
- VideoProgressPlayer: Enhanced video player with bookmarks and controls
- AssessmentSummaryCard: Quiz results analysis and review
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- IndicatorConfigPanel: Advanced technical indicator configuration
- ChartDrawingToolsPanel: Drawing tools for technical analysis
- SymbolInfoPanel: Comprehensive symbol information sidebar
- TradeJournalPanel: Trade review and journaling for paper trading
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- MT4LiveTradesPanel: Real-time positions dashboard with aggregate metrics
- PositionModifierDialog: Modal for modifying SL/TP with price/pips modes
- RiskBasedPositionSizer: Position size calculator based on risk percentage
- TradeAlertsNotificationCenter: Unified notification hub for MT4 events
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- InvoiceList: Paginated invoice table with filters
- InvoiceDetail: Full invoice modal with line items
- PaymentMethodsList: Manage saved payment methods
- SubscriptionUpgradeFlow: Plan upgrade/downgrade with preview
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- MessageList: Virtualized message list with auto-scroll
- ChatHeader: Header with title editing, actions menu, status
- MessageSearch: Search within conversation with filters
- MarkdownRenderer: Custom markdown rendering with code copy
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- QuickOrderPanel: One-click trading with lot presets
- TradeExecutionHistory: Session trade history with P&L stats
- TradingMetricsCard: Daily trading metrics and performance
- useMT4WebSocket: Real-time account/position updates hook
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CouponForm: Apply and validate discount codes
- PaymentMethodForm: Add payment methods with card validation
- TransactionHistory: Wallet transactions with filtering/pagination
- BillingInfoForm: Edit billing address and tax information
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- useChatAssistant: Centralized chat logic with retry and streaming support
- useStreamingChat: SSE streaming with token animation
- messageFormatters: Signal parsing, price formatting, markdown processing
- SignalExecutionPanel: Execute trading signals with risk validation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- MT4PositionsManager: Container for all live positions with filtering/sorting
- AdvancedOrderEntry: Professional order form with risk calculator, SL/TP modes
- AccountHealthDashboard: Unified account metrics with health status
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ToolCallCard: Display tool execution results with expandable details
- MessageFeedback: Thumbs up/down with detailed feedback form
- StreamingIndicator: Multiple variants for thinking/analyzing/generating states
- AssistantSettingsPanel: Settings modal with risk profile, preferences
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- MT4ConnectionStatus: Connection indicator with account info display
- LivePositionCard: Real-time position card with P&L, modify/close actions
- RiskMonitor: Risk management dashboard with metrics and warnings
- index.ts: Centralized exports for all trading components
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CertificatePreview: Display earned certificates with download/share
- CourseReviews: Reviews section with rating summary and filtering
- LessonNotes: Note-taking with timestamps and auto-save
- RecommendedCourses: Course recommendations with multiple layouts
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ConversationHistory: Session list with search, delete, and selection
- ContextPanel: Display trading context (watchlist, risk profile, favorites)
- Update Assistant page to use chatStore for session management
- Wire sidebar to load/create/delete sessions
- Add error banner and responsive design
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add WalletDepositModal for depositing funds to wallet
- Add WalletWithdrawModal for withdrawing funds from wallet
- Add CheckoutSuccess page for successful Stripe checkout
- Add CheckoutCancel page for canceled checkout
- Update Billing page to use new wallet modals
- Add routes for /payments/success and /payments/cancel
- Export new modals from payments index
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Settings tab with account info and reset functionality
- Show initial balance, total trades, open positions
- Reset account confirmation dialog
- Danger zone styling for reset action
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create TradingStatsPanel with trading metrics (win rate, P&L, profit factor)
- Create OrderBookPanel with bids/asks visualization and spread
- Update Trading.tsx with toggle buttons for all panels
- Implement indicator toggle logic with Set state
- Add stats panel: current streak, avg hold time, portfolio summary
- Add order book: depth bars, click-to-fill, configurable rows
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create AlertsPanel component with full CRUD functionality
- Add alerts API functions to trading.service.ts
- Integrate AlertsPanel into Trading.tsx with toggle button
- Support for above/below/crosses conditions
- Push and email notification options
- Recurring alerts support
- Filter by active/inactive status
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>