Changes include: - Updated architecture documentation - Enhanced module definitions (OQI-001 to OQI-008) - ML integration documentation updates - Trading strategies documentation - Orchestration and inventory updates - Docker configuration updates 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
9.0 KiB
| id | title | type | status | priority | epic | project | story_points | created_date | updated_date |
|---|---|---|---|---|---|---|---|---|---|
| US-INV-002 | Abrir Cuenta de Inversión | User Story | Done | Media | OQI-004 | trading-platform | 3 | 2025-12-05 | 2026-01-04 |
US-INV-002: Abrir Cuenta de Inversión
Metadata
| Campo | Valor |
|---|---|
| ID | US-INV-002 |
| Épica | OQI-004 - Cuentas de Inversión |
| Módulo | investment |
| Prioridad | P0 |
| Story Points | 5 |
| Sprint | Sprint 5 |
| Estado | Pendiente |
| Asignado a | Por asignar |
Historia de Usuario
Como inversor, quiero abrir una cuenta de inversión en un producto específico, para comenzar a invertir y obtener rendimientos gestionados por un agente IA.
Descripción Detallada
El usuario debe poder seleccionar un producto de inversión (Atlas, Orion, Nova) y abrir una cuenta asociada. El proceso incluye aceptar términos y condiciones, y ser redirigido al flujo de depósito inicial.
Mockups/Wireframes
┌─────────────────────────────────────────────────────────────────┐
│ ABRIR CUENTA - ATLAS │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 🛡️ ATLAS - El Guardián │ │
│ │ │ │
│ │ Perfil: Conservador │ │
│ │ Target mensual: 3-5% │ │
│ │ Max drawdown: 5% │ │
│ │ Inversión mínima: $100 USD │ │
│ │ │ │
│ │ Estrategia: Mean reversion + Grid trading │ │
│ │ Activos: BTC, ETH (solo majors) │ │
│ │ Frecuencia: 2-5 trades/día │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ⚠️ Disclaimer │ │
│ │ │ │
│ │ Los rendimientos pasados no garantizan resultados │ │
│ │ futuros. El trading de criptomonedas conlleva riesgos │ │
│ │ significativos de pérdida. │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ [✓] Acepto los términos y condiciones │
│ [✓] Entiendo los riesgos asociados │
│ [✓] Confirmo que tengo al menos 18 años │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ABRIR CUENTA Y DEPOSITAR │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Criterios de Aceptación
Escenario 1: Abrir cuenta exitosamente
DADO que el usuario está autenticado
Y tiene email verificado
Y no tiene cuenta en el producto Atlas
CUANDO navega a la página de apertura de Atlas
Y acepta todos los checkboxes requeridos
Y hace click en "Abrir Cuenta y Depositar"
ENTONCES se crea una nueva cuenta de inversión
Y el estado de la cuenta es "active"
Y el balance inicial es $0
Y se redirige al flujo de depósito
Escenario 2: Usuario ya tiene cuenta en ese producto
DADO que el usuario ya tiene cuenta en Atlas
CUANDO intenta abrir otra cuenta en Atlas
ENTONCES se muestra mensaje "Ya tienes una cuenta en Atlas"
Y se ofrece link para ir al dashboard de la cuenta existente
Escenario 3: Email no verificado
DADO que el usuario no tiene email verificado
CUANDO intenta abrir cuenta de inversión
ENTONCES se muestra mensaje "Debes verificar tu email primero"
Y se ofrece link para reenviar verificación
Escenario 4: No acepta términos
DADO que el usuario está en la página de apertura
CUANDO no marca todos los checkboxes requeridos
ENTONCES el botón "Abrir Cuenta" está deshabilitado
Y se muestra mensaje indicando los campos faltantes
Escenario 5: Apertura sin depósito inmediato
DADO que el usuario quiere abrir cuenta sin depositar ahora
CUANDO hace click en "Abrir cuenta sin depositar" (link secundario)
ENTONCES se crea la cuenta con balance $0
Y se redirige al dashboard de la cuenta
Y se muestra CTA para depositar
Criterios Adicionales
- Mostrar rendimiento histórico del agente
- Mostrar disclaimer legal claramente
- Guardar aceptación de términos con timestamp
- Enviar email de confirmación de apertura
- Tracking de conversión (analytics)
Tareas Técnicas
Database:
- DB-INV-001: Verificar schema de investment.accounts
- DB-INV-002: Crear índice en (user_id, product_id)
Backend:
- BE-INV-001: Crear endpoint POST /investment/accounts
- BE-INV-002: Implementar AccountService.createAccount()
- BE-INV-003: Validar email verificado
- BE-INV-004: Validar cuenta única por producto
- BE-INV-005: Guardar aceptación de términos
Frontend:
- FE-INV-001: Crear página OpenAccount.tsx
- FE-INV-002: Crear componente ProductSummary.tsx
- FE-INV-003: Crear componente TermsCheckboxes.tsx
- FE-INV-004: Implementar investmentStore
Tests:
- TEST-INV-001: Test unitario AccountService
- TEST-INV-002: Test integración crear cuenta
- TEST-INV-003: Test E2E flujo completo
Dependencias
Depende de:
- US-AUTH-001: Autenticación - Estado: ✅ Completado
- US-INV-001: Ver productos - Estado: Pendiente
Bloquea:
- US-INV-003: Realizar depósito
- US-INV-004: Ver dashboard portfolio
Notas Técnicas
Endpoints involucrados:
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /investment/products/:id | Detalle del producto |
| POST | /investment/accounts | Crear cuenta |
| GET | /investment/accounts | Verificar cuentas existentes |
Entidades/Tablas:
investment.accounts: Cuenta de inversióninvestment.terms_acceptance: Registro de aceptación
Request Body:
{
productId: "uuid-atlas",
acceptedTerms: true,
acceptedRisks: true,
confirmedAge: true,
ipAddress: "192.168.1.1",
userAgent: "Mozilla/5.0..."
}
Response:
{
account: {
id: "uuid",
userId: "uuid",
productId: "uuid",
status: "active",
balance: 0,
openedAt: "2025-12-05T..."
},
redirectTo: "/investment/deposit?accountId=uuid"
}
Definition of Ready (DoR)
- Historia claramente escrita
- Criterios de aceptación definidos
- Story points estimados
- Dependencias identificadas
- Sin bloqueadores
- Diseño/mockup disponible
- API spec disponible
Definition of Done (DoD)
- Código implementado según criterios
- Tests unitarios escritos y pasando
- Tests de integración pasando
- Code review aprobado
- Documentación actualizada
- QA aprobado
- Desplegado en ambiente de pruebas
Historial de Cambios
| Fecha | Cambio | Autor |
|---|---|---|
| 2025-12-05 | Creación | Requirements-Analyst |
Creada por: Requirements-Analyst Fecha: 2025-12-05 Última actualización: 2025-12-05