Plataforma de trading y educacion financiera
Go to file
Adrian Flores Cortes 3d8bf17b72 docs(payments): Add Developer Guidelines (ST4.2.5)
Comprehensive developer guidelines for payment system development.

New Files:
- docs/.../OQI-005-payments-stripe/DEVELOPER-GUIDELINES.md (900+ lines)
  - Complete reference for payment development
  - PCI-DSS compliance rules (DO's and DON'Ts)
  - Backend development guidelines
  - Frontend development guidelines
  - Testing guidelines (unit + E2E)
  - Common pitfalls and how to avoid them
  - Code review checklist
  - Deployment checklist
  - Troubleshooting guide
  - Examples and templates

Sections:
1. Overview - Architecture summary, tech stack, compliance level
2. PCI-DSS Compliance Rules - What's allowed vs prohibited
3. Backend Development - File structure, endpoints, webhooks, database
4. Frontend Development - Stripe Elements, checkout flow, error handling
5. Testing Guidelines - Unit tests, E2E tests, component tests
6. Common Pitfalls - 5 common mistakes and how to avoid them
7. Code Review Checklist - Security, quality, Stripe integration
8. Deployment Checklist - Environment, security, testing, monitoring
9. Troubleshooting - Common issues and solutions
10. Examples & Templates - Complete flow examples

Key Guidelines:
 DO's:
  - Use Payment Intents (server-side processing)
  - Use Stripe Elements (client-side tokenization)
  - Verify webhook signatures
  - Store only tokens/IDs (pm_xxx, pi_xxx)
  - Use HTTPS everywhere
  - Log payment events (without sensitive data)
  - Write E2E tests for PCI-DSS compliance

 DON'Ts:
  - Accept card data in backend
  - Store PAN, CVV, or expiry in database
  - Create native card inputs
  - Store card data in React state
  - Skip webhook signature verification
  - Use HTTP (only HTTPS)
  - Log sensitive data

PCI-DSS Compliance:
 ALLOWED:
  - Store last 4 digits
  - Store card brand
  - Store Stripe tokens (pm_xxx, pi_xxx, cus_xxx)
  - Store customer name

 PROHIBITED:
  - Store full PAN (card number)
  - Store CVV/CVC
  - Store expiry date
  - Store PIN

Common Pitfalls:
1. Accepting card data in backend → Block sensitive fields
2. Storing full PAN in database → Use tokens only
3. Native card inputs → Use Stripe CardElement
4. Not verifying webhook signatures → Use constructEvent
5. Logging sensitive data → Filter sensitive fields

Code Examples:
- Wallet deposit flow (complete end-to-end)
- Subscription checkout (Stripe hosted)
- Payment Intent creation (backend)
- Stripe Elements integration (frontend)
- Webhook signature verification
- Database schema (safe vs prohibited)

Testing Examples:
- Unit tests (Stripe service mocked)
- E2E tests (PCI-DSS compliance)
- Component tests (CardElement rendering)
- Integration tests (webhook handling)

Deployment Checklist:
- Environment variables configured
- Stripe webhooks set up
- SSL/TLS enabled
- Security headers configured
- Rate limiting enabled
- All tests passing (45+ PCI-DSS tests)
- Monitoring and alerts configured

Target Audience:
- Backend developers (Express.js, TypeScript)
- Frontend developers (React, Stripe.js)
- DevOps engineers (deployment, monitoring)
- Code reviewers (security validation)
- New team members (onboarding)

Status: BLOCKER-002 (ST4.2) - Developer guidelines complete
Task: #5 ST4.2.5 - Actualizar developer guidelines pagos

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 22:03:47 -06:00
.gemini/antigravity [SEMANA-3-AGENTES] feat: Add IDE configurations (L3) 2026-01-24 17:45:06 -06:00
.trae [SEMANA-3-AGENTES] feat: Add IDE configurations (L3) 2026-01-24 17:45:06 -06:00
.windsurf [SEMANA-3-AGENTES] feat: Add IDE configurations (L3) 2026-01-24 17:45:06 -06:00
apps feat(ml): Complete FASE 11 - BTCUSD update and comprehensive documentation alignment 2026-01-07 09:31:29 -06:00
docker Initial commit - trading-platform 2026-01-04 06:12:13 -06:00
docs docs(payments): Add Developer Guidelines (ST4.2.5) 2026-01-26 22:03:47 -06:00
mcp-auth@a9de3e4331 [ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure 2026-01-24 14:38:26 -06:00
mcp-binance-connector@fa75326bba [ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure 2026-01-24 14:38:26 -06:00
mcp-investment@ce711aa6d4 [ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure 2026-01-24 14:38:26 -06:00
mcp-mt4-connector@980e56de20 [ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure 2026-01-24 14:38:26 -06:00
mcp-predictions@486bfa1670 [ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure 2026-01-24 14:38:26 -06:00
mcp-products@2521b63c6d [ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure 2026-01-24 14:38:26 -06:00
mcp-vip@41952f8985 [ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure 2026-01-24 14:38:26 -06:00
mcp-wallet@733e1a4581 [ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure 2026-01-24 14:38:26 -06:00
orchestration docs(ST4.3): Add completion report - BLOCKER-003 RESOLVED 2026-01-26 20:47:49 -06:00
packages feat(ml): Complete FASE 11 - BTCUSD update and comprehensive documentation alignment 2026-01-07 09:31:29 -06:00
.gitignore refactor: Configure subrepositorios for apps 2026-01-04 07:05:07 -06:00
.gitmodules refactor: Configure subrepositorios for apps 2026-01-04 07:05:07 -06:00
AGENTS.md feat(ml): Complete FASE 11 - BTCUSD update and comprehensive documentation alignment 2026-01-07 09:31:29 -06:00
CLAUDE.md [SEMANA-3-AGENTES] feat: Add IDE configurations (L3) 2026-01-24 17:45:06 -06:00
docker-compose.services.yml feat(ml): Complete FASE 11 - BTCUSD update and comprehensive documentation alignment 2026-01-07 09:31:29 -06:00
docker-compose.yml feat(ml): Complete FASE 11 - BTCUSD update and comprehensive documentation alignment 2026-01-07 09:31:29 -06:00
INVENTARIO.yml Initial commit - trading-platform 2026-01-04 06:12:13 -06:00
package.json feat(ml): Complete FASE 11 - BTCUSD update and comprehensive documentation alignment 2026-01-07 09:31:29 -06:00
README.md feat(ml): Complete FASE 11 - BTCUSD update and comprehensive documentation alignment 2026-01-07 09:31:29 -06:00

Trading Platform - Trading Platform

Descripción

Trading Platform es una plataforma integral de gestión de inversiones asistida por inteligencia artificial que combina:

  • Money Manager con IA: Agentes que gestionan cuentas de trading e inversión con diferentes perfiles de riesgo (conservador, moderado, agresivo)
  • Plataforma Educativa: Cursos de trading accesibles generados con IA
  • TradingView Privado: Visualización de gráficos, predicciones ML y señales en tiempo real
  • Sistema SaaS: Suscripciones, pagos con Stripe y wallets internos

Estado del Proyecto

  • Estado: MVP en desarrollo avanzado (~50%)
  • Código: 58,000+ líneas en producción
  • Servicios: 7 aplicaciones funcionando
  • Última actualización: 2025-12-08

Stack Tecnológico

Componente Tecnología Puerto
Frontend React 18 + TypeScript + Tailwind CSS 3080
Backend API Express.js 5 + Node.js 20 3081
WebSocket Real-time (charts, notifications) 3082
ML Engine Python + FastAPI + PyTorch/XGBoost 3083
Data Service Python + FastAPI 3084
LLM Agent Python + FastAPI + Ollama 3085
Trading Agents Python + FastAPI + CCXT 3086
Ollama WebUI Interfaz gestión modelos LLM 3087
Database PostgreSQL 16 (trading_platform) 5432
Cache Redis 7 6379

Estructura del Proyecto

trading-platform/
├── apps/                          # Aplicaciones
│   ├── backend/                   # API principal (Express.js)
│   │   └── src/
│   │       ├── modules/           # Módulos por funcionalidad
│   │       │   ├── auth/          # Autenticación
│   │       │   ├── users/         # Usuarios
│   │       │   ├── trading/       # Trading
│   │       │   ├── portfolio/     # Portafolios
│   │       │   ├── education/     # Educación
│   │       │   ├── payments/      # Pagos (Stripe)
│   │       │   ├── ml/            # Integración ML
│   │       │   ├── llm/           # Integración LLM
│   │       │   └── admin/         # Administración
│   │       └── shared/            # Compartido
│   │
│   ├── frontend/                  # UI (React)
│   │   └── src/
│   │       └── modules/           # Módulos UI
│   │
│   ├── ml-engine/                 # Servicio ML (Python)
│   │   └── src/
│   │       ├── models/            # Modelos ML
│   │       ├── pipelines/         # Pipelines de entrenamiento
│   │       ├── backtesting/       # Motor de backtesting
│   │       └── api/               # Endpoints FastAPI
│   │
│   ├── llm-agent/                 # Copiloto IA (Python)
│   │   └── src/
│   │       ├── core/              # Core LLM
│   │       ├── tools/             # 12 herramientas de trading
│   │       └── prompts/           # System prompts
│   │
│   ├── trading-agents/            # Agentes de trading (Python)
│   │   └── src/
│   │       ├── agents/            # Atlas, Orion, Nova
│   │       ├── strategies/        # Estrategias de trading
│   │       └── exchange/          # Integración exchanges
│   │
│   ├── data-service/              # Datos de mercado (Python) ⚠️ INCOMPLETO
│   │   └── src/
│   │       └── providers/         # Proveedores de datos
│   │
│   └── database/                  # PostgreSQL
│       └── ddl/
│           └── schemas/           # 8 schemas, 98 tablas
│
├── packages/                      # Código compartido
│   ├── sdk-typescript/            # SDK para frontend/backend
│   ├── sdk-python/                # SDK para servicios Python
│   ├── config/                    # Configuración centralizada
│   └── types/                     # Tipos compartidos
│
├── docker/                        # Configuración Docker
│   └── docker-compose.yml
│
├── docs/                          # Documentación
└── orchestration/                 # Sistema de agentes NEXUS

Agentes de Trading

Agente Perfil Target Mensual Max Drawdown Estrategias
Atlas Conservador 3-5% 5% Mean Reversion, Grid Trading
Orion Moderado 5-10% 10% Trend Following, Breakouts
Nova Agresivo 10%+ 20% Momentum, Scalping

Modelos ML

Modelo Propósito Algoritmos
AMD Detector Detectar fases Smart Money CNN + LSTM + XGBoost Ensemble
Range Predictor Predecir rangos de precio XGBoost, Random Forest
Signal Generator Generar señales de trading Neural Network + Technical Analysis

Base de Datos (8 Schemas)

Schema Propósito Tablas
auth Autenticación y usuarios 10
trading Trading y órdenes 10
investment Productos PAMM 7
financial Pagos y wallets 10
education Cursos y gamificación 14
llm Conversaciones IA 5
ml Modelos y predicciones 5
audit Logs y auditoría 7

Inicio Rápido

Requisitos

  • Node.js 20+
  • Python 3.10+
  • PostgreSQL 16+
  • Redis 7+
  • Docker & Docker Compose

Instalación

# Clonar e instalar
cd /home/isem/workspace/projects/trading-platform

# Backend
cd apps/backend
npm install
cp .env.example .env
npm run dev

# Frontend
cd ../frontend
npm install
cp .env.example .env
npm run dev

# Servicios Python
cd ../ml-engine
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn src.main:app --port 8001

# Con Docker (recomendado)
docker-compose up -d

Uso del SDK

TypeScript

import { Trading PlatformClient } from '@trading-platform/sdk-typescript';

const client = new Trading PlatformClient({
  baseUrl: 'http://localhost:3000',
});

// Login
await client.auth.login({ email, password });

// Obtener señales
const signals = await client.ml.getSignals({ symbol: 'BTCUSDT' });

// Chat con copiloto
const response = await client.ml.chat({
  message: '¿Qué opinas del BTC ahora?',
});

Python

from trading_sdk import Trading PlatformClient, Config

config = Config.from_env()
async with Trading PlatformClient(config) as client:
    # Obtener predicción
    prediction = await client.get_prediction("BTCUSDT", "1h")

    # Chat con LLM
    response = await client.chat("Analiza el mercado de ETH")

Tareas Pendientes

Crítico (P0)

  • Completar data-service (actualmente ~20%)
  • Agregar tests unitarios
  • Implementar retry/circuit breaker entre servicios

Alto (P1)

  • Documentar APIs (OpenAPI)
  • Implementar métricas Prometheus
  • Completar sistema PAMM

Medio (P2)

  • KYC/AML
  • Notificaciones push
  • Exportación de reportes

Documentación


Proyecto parte del workspace de Fábrica de Software con Agentes IA Directivas: /home/isem/workspace/core/orchestration/directivas/