trading-platform/orchestration/inventarios/BACKEND_INVENTORY.yml

322 lines
9.2 KiB
YAML

# BACKEND INVENTORY - OrbiQuant IA Trading Platform
# Generado: 2025-12-08
# Sistema: NEXUS + SIMCO v2.2.0
backend:
framework: Express.js + TypeScript
path: apps/backend/
src: apps/backend/src/
puerto: 3001
estructura:
core:
path: src/core/
componentes:
filters:
- archivo: filters/http-exception.filter.ts
descripcion: Filtro global de excepciones HTTP
estado: Implementado
guards:
- archivo: guards/auth.guard.ts
descripcion: Guard de autenticacion JWT
estado: Implementado
interceptors:
- archivo: interceptors/transform-response.interceptor.ts
descripcion: Transformador de respuestas estandar
estado: Implementado
middleware:
- archivo: middleware/auth.middleware.ts
descripcion: Middleware de autenticacion
estado: Implementado
- archivo: middleware/rate-limiter.ts
descripcion: Rate limiting por IP/usuario
estado: Implementado
- archivo: middleware/error-handler.ts
descripcion: Manejador global de errores
estado: Implementado
- archivo: middleware/not-found.ts
descripcion: Handler 404
estado: Implementado
websocket:
- archivo: websocket/websocket.server.ts
descripcion: Servidor WebSocket principal
estado: Implementado
- archivo: websocket/trading-stream.service.ts
descripcion: Stream de precios en tiempo real
estado: Implementado
shared:
path: src/shared/
componentes:
clients:
- archivo: clients/ml-engine.client.ts
descripcion: Cliente HTTP para ML Engine
estado: Implementado
- archivo: clients/llm-agent.client.ts
descripcion: Cliente HTTP para LLM Agent
estado: Implementado
- archivo: clients/trading-agents.client.ts
descripcion: Cliente HTTP para Trading Agents
estado: Implementado
constants:
- archivo: constants/database.constants.ts
- archivo: constants/enums.constants.ts
- archivo: constants/routes.constants.ts
types:
- archivo: types/common.types.ts
utils:
- archivo: utils/logger.ts
descripcion: Logger Winston configurado
database:
- archivo: database/index.ts
descripcion: Conexion PostgreSQL
modulos:
# ==================== AUTH ====================
- nombre: auth
path: src/modules/auth/
estado: Completo
epica: OQI-001
archivos:
routes: auth.routes.ts
controllers:
- controllers/auth.controller.ts
services:
- services/token.service.ts
- services/oauth.service.ts
- services/email.service.ts
- services/phone.service.ts
- services/twofa.service.ts
validators:
- validators/auth.validators.ts
types:
- types/auth.types.ts
endpoints:
- POST /api/auth/register
- POST /api/auth/login
- POST /api/auth/logout
- POST /api/auth/refresh
- POST /api/auth/forgot-password
- POST /api/auth/reset-password
- POST /api/auth/verify-email
- POST /api/auth/verify-phone
- POST /api/auth/2fa/enable
- POST /api/auth/2fa/verify
- GET /api/auth/oauth/:provider
- GET /api/auth/oauth/:provider/callback
# ==================== USERS ====================
- nombre: users
path: src/modules/users/
estado: Parcial
epica: OQI-001
archivos:
routes: users.routes.ts
endpoints:
- GET /api/users/me
- PATCH /api/users/me
- GET /api/users/:id
# ==================== EDUCATION ====================
- nombre: education
path: src/modules/education/
estado: Completo
epica: OQI-002
archivos:
routes: education.routes.ts
controllers:
- controllers/education.controller.ts
services:
- services/course.service.ts
- services/enrollment.service.ts
types:
- types/education.types.ts
endpoints:
- GET /api/education/courses
- GET /api/education/courses/:id
- POST /api/education/courses/:id/enroll
- GET /api/education/enrollments
- PATCH /api/education/progress
# ==================== TRADING ====================
- nombre: trading
path: src/modules/trading/
estado: En Desarrollo
epica: OQI-003
archivos:
routes: trading.routes.ts
controllers:
- controllers/trading.controller.ts
- controllers/watchlist.controller.ts
- controllers/paper-trading.controller.ts
- controllers/indicators.controller.ts
- controllers/alerts.controller.ts
services:
- services/market.service.ts
- services/binance.service.ts
- services/watchlist.service.ts
- services/paper-trading.service.ts
- services/indicators.service.ts
- services/alerts.service.ts
- services/cache.service.ts
types:
- types/market.types.ts
endpoints:
- GET /api/trading/symbols
- GET /api/trading/symbols/:symbol/candles
- GET /api/trading/symbols/:symbol/ticker
- GET /api/trading/watchlists
- POST /api/trading/watchlists
- POST /api/trading/watchlists/:id/items
- DELETE /api/trading/watchlists/:id/items/:itemId
- GET /api/trading/paper/balance
- POST /api/trading/paper/order
- GET /api/trading/paper/positions
- GET /api/trading/paper/history
# ==================== INVESTMENT ====================
- nombre: investment
path: src/modules/investment/
estado: Parcial
epica: OQI-004
archivos:
routes: investment.routes.ts
controllers:
- controllers/investment.controller.ts
services:
- services/product.service.ts
- services/account.service.ts
- services/transaction.service.ts
endpoints:
- GET /api/investment/products
- GET /api/investment/accounts
- POST /api/investment/accounts
- POST /api/investment/accounts/:id/deposit
- POST /api/investment/accounts/:id/withdraw
# ==================== PAYMENTS ====================
- nombre: payments
path: src/modules/payments/
estado: Parcial
epica: OQI-005
archivos:
routes: payments.routes.ts
controllers:
- controllers/payments.controller.ts
services:
- services/stripe.service.ts
- services/wallet.service.ts
- services/subscription.service.ts
types:
- types/payments.types.ts
endpoints:
- POST /api/payments/create-checkout
- POST /api/payments/webhook
- GET /api/payments/wallet
- GET /api/payments/subscriptions
- POST /api/payments/subscriptions/cancel
# ==================== ML ====================
- nombre: ml
path: src/modules/ml/
estado: Implementado
epica: OQI-006
archivos:
routes: ml.routes.ts
controllers:
- controllers/ml.controller.ts
- controllers/ml-overlay.controller.ts
services:
- services/ml-integration.service.ts
- services/ml-overlay.service.ts
endpoints:
- GET /api/ml/signals/:symbol
- GET /api/ml/predictions/:symbol
- GET /api/ml/overlay/:symbol
- GET /api/ml/models
# ==================== LLM ====================
- nombre: llm
path: src/modules/llm/
estado: En Desarrollo
epica: OQI-007
archivos:
routes: llm.routes.ts
controllers:
- controllers/llm.controller.ts
services:
- services/llm.service.ts
endpoints:
- POST /api/llm/chat
- GET /api/llm/conversations
- GET /api/llm/conversations/:id
- DELETE /api/llm/conversations/:id
# ==================== PORTFOLIO ====================
- nombre: portfolio
path: src/modules/portfolio/
estado: Inicial
epica: OQI-008
archivos:
routes: portfolio.routes.ts
controllers:
- controllers/portfolio.controller.ts
services:
- services/portfolio.service.ts
endpoints:
- GET /api/portfolio
- POST /api/portfolio/rebalance
- GET /api/portfolio/projections
# ==================== AGENTS ====================
- nombre: agents
path: src/modules/agents/
estado: Planificado
epica: OQI-004
archivos:
routes: agents.routes.ts
controllers:
- controllers/agents.controller.ts
services:
- services/agents.service.ts
endpoints:
- GET /api/agents
- GET /api/agents/:id/performance
# ==================== ADMIN ====================
- nombre: admin
path: src/modules/admin/
estado: Inicial
archivos:
routes: admin.routes.ts
endpoints:
- GET /api/admin/stats
- GET /api/admin/users
resumen:
total_modulos: 12
total_controllers: 18
total_services: 28
total_endpoints: 55+
modulos_completos: [auth, education, ml]
modulos_en_desarrollo: [trading, investment, payments, llm, portfolio]
modulos_planificados: [agents, admin]
dependencias_externas:
- ml-engine: puerto 8000 (FastAPI)
- llm-agent: puerto 8001 (FastAPI)
- trading-agents: puerto 8002 (FastAPI)
- redis: puerto 6379
- postgresql: puerto 5432
ultima_actualizacion: 2025-12-08
actualizado_por: NEXUS-System