trading-platform/docs/97-adr/ADR-001-stack-tecnologico.md
rckrdmrd c1b5081208 feat(ml): Complete FASE 11 - BTCUSD update and comprehensive documentation alignment
ML Engine Updates:
- Updated BTCUSD with Polygon API data (2024-2025): 215,699 new records
- Re-trained all ML models: Attention (R²: 0.223), Base, Metamodel (87.3% confidence)
- Backtest results: +176.71R profit with aggressive_filter strategy

Documentation Consolidation:
- Created docs/99-analisis/_MAP.md index with 13 new analysis documents
- Consolidated inventories: removed duplicates from orchestration/inventarios/
- Updated ML_INVENTORY.yml with BTCUSD metrics and training results
- Added execution reports: FASE11-BTCUSD, correction issues, alignment validation

Architecture & Integration:
- Updated all module documentation with NEXUS v3.4 frontmatter
- Fixed _MAP.md indexes across all folders
- Updated orchestration plans and traces

Files: 229 changed, 5064 insertions(+), 1872 deletions(-)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 09:31:29 -06:00

4.0 KiB

id title type project version updated_date
ADR-001-stack-tecnologico Stack Tecnologico Documentation trading-platform 1.0.0 2026-01-04

ADR-001: Stack Tecnologico

Fecha: 2025-12-05 Estado: Aceptado Deciders: Tech Lead, CTO


Contexto

Trading Platform necesita un stack tecnologico que permita:

  1. Desarrollo rapido del MVP (8 semanas)
  2. Escalabilidad para crecimiento futuro
  3. Integracion con APIs de trading y ML
  4. Experiencia de usuario fluida en web y movil
  5. Mantenibilidad a largo plazo

El equipo tiene experiencia previa con proyectos similares (Gamilit, TradingAgent) usando TypeScript y Python.


Decision

Frontend

  • React 18 + TypeScript 5 como framework principal
  • Vite como build tool (HMR rapido, ESM nativo)
  • Tailwind CSS para estilos (utility-first, dark mode)
  • Zustand para state management (simple, sin boilerplate)
  • TanStack Query para data fetching (cache, refetch, optimistic updates)
  • Lightweight Charts para graficos de trading (TradingView quality)

Backend API

  • Express.js 4.18 + TypeScript para API REST
  • Zod para validacion de schemas
  • JWT + Passport.js para autenticacion
  • PostgreSQL 15 como base de datos principal
  • Redis 7 para cache y sesiones

ML Engine

  • Python 3.11 + FastAPI para API de predicciones
  • XGBoost para modelos de ML
  • Pandas/NumPy para procesamiento de datos

Servicios Externos

  • Stripe para pagos
  • Twilio para SMS/WhatsApp
  • Nodemailer para emails

Alternativas Consideradas

Frontend Framework

Opcion Pros Contras Decision
React Ecosistema maduro, equipo experimentado Mas boilerplate que alternativas Elegido
Next.js SSR, routing integrado Complejidad innecesaria para SPA
Vue.js Curva de aprendizaje suave Menos experiencia del equipo
Svelte Performance, menos codigo Ecosistema menos maduro

Backend Framework

Opcion Pros Contras Decision
Express.js Flexible, probado, conocido Sin estructura opinionada Elegido
NestJS Estructura, decoradores Overhead para MVP
Fastify Mas rapido que Express Menos plugins
Hono Ultra ligero Muy nuevo

Base de Datos

Opcion Pros Contras Decision
PostgreSQL ACID, JSONB, extensiones Mas complejo que NoSQL Elegido
MongoDB Flexible schema No ACID por defecto
MySQL Popular, simple Menos features que Postgres

State Management

Opcion Pros Contras Decision
Zustand Simple, TypeScript, sin boilerplate Menos features que Redux Elegido
Redux Toolkit Feature completo, devtools Boilerplate, complejidad
Jotai Atomico, simple Menos popular
Recoil De Facebook Futuro incierto

Consecuencias

Positivas

  1. Velocidad de desarrollo: El equipo ya conoce el stack
  2. Type safety: TypeScript en frontend y backend reduce errores
  3. Reutilizacion: Codigo de Gamilit y TradingAgent reutilizable
  4. Contratacion: Stack popular, facil encontrar desarrolladores
  5. Comunidad: Amplia documentacion y soporte

Negativas

  1. JavaScript fatigue: Muchas dependencias npm a mantener
  2. Dos lenguajes: TypeScript para API, Python para ML
  3. Express flexibility: Requiere mas disciplina en estructura

Riesgos

  1. Dependencias desactualizadas: Mitigacion con Renovate/Dependabot
  2. Breaking changes en React 19: Mantenerse en v18 hasta estabilizar

Referencias