Backend de trading-platform - Workspace V2
Go to file
Adrian Flores Cortes 58a7b44673 feat(proxy): Add Express proxy gateway for Python services (ARCH-001)
- Add proxy module with types, service, controller, and routes
- Configure llmAgent and dataService in config
- Register proxy routes in main Express app
- All Python service access now goes through authenticated Express gateway

ARCH-001: Centralized proxy with auth, logging, and error handling

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 15:43:41 -06:00
src feat(proxy): Add Express proxy gateway for Python services (ARCH-001) 2026-01-28 15:43:41 -06:00
.env.example feat(backend): Phase 2 - Redis client, P&L queries, type definitions 2026-01-27 04:39:22 -06:00
.gitignore feat: Initial commit - Trading Platform Backend 2026-01-18 04:28:47 -06:00
Dockerfile feat: Initial commit - Trading Platform Backend 2026-01-18 04:28:47 -06:00
ENDPOINT-ROUTING.md docs(coherence): Add comprehensive endpoint routing documentation (E-COH-007, ST1.7) 2026-01-26 18:07:29 -06:00
eslint.config.js feat: Initial commit - Trading Platform Backend 2026-01-18 04:28:47 -06:00
jest.config.ts feat: Initial commit - Trading Platform Backend 2026-01-18 04:28:47 -06:00
package-lock.json fix(backend): resolve all 99 pre-existing TypeScript errors 2026-01-27 05:28:55 -06:00
package.json fix(backend): resolve all 99 pre-existing TypeScript errors 2026-01-27 05:28:55 -06:00
README.md feat: Initial commit - Trading Platform Backend 2026-01-18 04:28:47 -06:00
service.descriptor.yml feat: Initial commit - Trading Platform Backend 2026-01-18 04:28:47 -06:00
swagger.yml docs(api): Add comprehensive OpenAPI/Swagger documentation (ST2.3) 2026-01-26 18:18:39 -06:00
test-websocket.html feat: Initial commit - Trading Platform Backend 2026-01-18 04:28:47 -06:00
test-websocket.js feat: Initial commit - Trading Platform Backend 2026-01-18 04:28:47 -06:00
tsconfig.json feat: Initial commit - Trading Platform Backend 2026-01-18 04:28:47 -06:00
WEBSOCKET_IMPLEMENTATION_REPORT.md feat: Initial commit - Trading Platform Backend 2026-01-18 04:28:47 -06:00
WEBSOCKET_TESTING.md feat: Initial commit - Trading Platform Backend 2026-01-18 04:28:47 -06:00

Trading Platform Backend API

Backend API para la plataforma Trading Platform.

Stack Tecnologico

  • Runtime: Node.js >= 18.0.0
  • Framework: Express.js 5.x
  • Lenguaje: TypeScript 5.x
  • Base de Datos: PostgreSQL 16 (pg driver)
  • Autenticacion: JWT + Passport.js (OAuth2)
  • Validacion: class-validator + zod
  • Documentacion API: Swagger (OpenAPI 3.0)

Estructura del Proyecto

src/
├── config/           # Configuracion (env, swagger, database)
├── middleware/       # Middleware Express (auth, rate-limit, cors)
├── modules/          # Modulos de negocio
│   ├── admin/        # Administracion del sistema
│   ├── agents/       # Agentes de trading
│   ├── auth/         # Autenticacion y autorizacion
│   ├── education/    # Modulo educativo (gamificacion, quizzes)
│   ├── investment/   # Gestion de inversiones
│   ├── llm/          # Integracion LLM (Anthropic, OpenAI)
│   ├── ml/           # Senales ML y predicciones
│   ├── payments/     # Pagos y suscripciones (Stripe)
│   ├── portfolio/    # Gestion de portafolios
│   ├── trading/      # Operaciones de trading
│   └── users/        # Gestion de usuarios
├── services/         # Servicios compartidos
├── types/            # Tipos TypeScript
├── utils/            # Utilidades
└── index.ts          # Entry point

Instalacion

# Instalar dependencias
npm install

# Copiar variables de entorno
cp .env.example .env

# Editar .env con credenciales

Variables de Entorno

# Server
PORT=3000
NODE_ENV=development

# Database
DATABASE_URL=postgresql://user:pass@localhost:5432/trading_platform

# JWT
JWT_SECRET=your-secret-key
JWT_EXPIRES_IN=7d

# OAuth (opcional)
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

# Stripe
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=

# Redis (cache)
REDIS_URL=redis://localhost:6379

Scripts Disponibles

Script Descripcion
npm run dev Desarrollo con hot-reload (tsx watch)
npm run build Compilar TypeScript
npm start Ejecutar build de produccion
npm run lint Verificar codigo con ESLint
npm run test Ejecutar tests con Jest
npm run typecheck Verificar tipos TypeScript

API Documentation

Swagger UI disponible en desarrollo:

http://localhost:3000/api/v1/docs

Modulos Principales

Auth (/api/v1/auth)

  • Login/Register con email
  • OAuth2 (Google, Apple, Facebook, GitHub)
  • 2FA (TOTP + SMS)
  • Refresh tokens

Trading (/api/v1/trading)

  • Ordenes de compra/venta
  • Historial de operaciones
  • WebSocket para datos en tiempo real

ML Signals (/api/v1/ml)

  • Predicciones de mercado
  • Senales de trading
  • Metricas de modelos

Payments (/api/v1/payments)

  • Suscripciones con Stripe
  • Facturacion
  • Historial de pagos

WebSocket

Endpoint WebSocket para datos en tiempo real:

ws://localhost:3000/ws

Eventos soportados:

  • market:ticker - Precios en tiempo real
  • signals:update - Nuevas senales ML
  • orders:update - Actualizaciones de ordenes

Testing

# Ejecutar todos los tests
npm test

# Tests con coverage
npm run test:coverage

# Tests en modo watch
npm run test:watch

Docker

# Build imagen
docker build -t trading-backend .

# Ejecutar contenedor
docker run -p 3000:3000 --env-file .env trading-backend

Documentacion Relacionada


Proyecto: Trading Platform Version: 0.1.0 Actualizado: 2026-01-07