--- id: "MAP-OQI-002-education" title: "Mapa de OQI-002-education" type: "Index" project: "trading-platform" updated_date: "2026-01-04" --- # _MAP: OQI-002 - Módulo Educativo **Última actualización:** 2025-12-05 **Estado:** Parcialmente Implementado **Versión:** 1.0.0 --- ## Propósito Esta épica implementa la plataforma educativa de Trading Platform, permitiendo a los usuarios aprender trading a través de cursos estructurados con video, texto, quizzes y sistema de progreso con gamificación. --- ## Contenido del Directorio ``` OQI-002-education/ ├── README.md # Documentación técnica existente ├── _MAP.md # Este archivo - índice ├── requerimientos/ # Documentos de requerimientos funcionales │ ├── RF-EDU-001-catalogo.md # Catálogo de cursos │ ├── RF-EDU-002-lecciones.md # Sistema de lecciones │ ├── RF-EDU-003-progreso.md # Tracking de progreso │ ├── RF-EDU-004-quizzes.md # Sistema de quizzes │ ├── RF-EDU-005-certificados.md # Certificaciones │ └── RF-EDU-006-gamificacion.md # XP y badges ├── especificaciones/ # Especificaciones técnicas │ ├── ET-EDU-001-database.md # Modelo de datos │ ├── ET-EDU-002-api.md # Endpoints REST │ ├── ET-EDU-003-frontend.md # Componentes React │ ├── ET-EDU-004-video.md # Streaming de video │ ├── ET-EDU-005-quizzes.md # Motor de quizzes │ └── ET-EDU-006-gamification.md # Sistema de gamificación ├── historias-usuario/ # User Stories │ ├── US-EDU-001-ver-catalogo.md │ ├── US-EDU-002-ver-curso.md │ ├── US-EDU-003-iniciar-leccion.md │ ├── US-EDU-004-ver-video.md │ ├── US-EDU-005-completar-leccion.md │ ├── US-EDU-006-realizar-quiz.md │ ├── US-EDU-007-ver-progreso.md │ ├── US-EDU-008-obtener-certificado.md │ ├── US-EDU-009-buscar-cursos.md │ ├── US-EDU-010-filtrar-categoria.md │ ├── US-EDU-011-marcar-favorito.md │ ├── US-EDU-012-dejar-review.md │ ├── US-EDU-013-ver-xp.md │ ├── US-EDU-014-desbloquear-badge.md │ └── US-EDU-015-continuar-donde-deje.md └── implementacion/ # Trazabilidad de implementación └── TRACEABILITY.yml ``` --- ## Requerimientos Funcionales | ID | Nombre | Prioridad | SP | Estado | |----|--------|-----------|-----|--------| | RF-EDU-001 | Catálogo de Cursos | P0 | 8 | ✅ Implementado | | RF-EDU-002 | Sistema de Lecciones | P0 | 8 | Pendiente | | RF-EDU-003 | Tracking de Progreso | P0 | 8 | Pendiente | | RF-EDU-004 | Sistema de Quizzes | P1 | 8 | Pendiente | | RF-EDU-005 | Certificaciones | P2 | 5 | Pendiente | | RF-EDU-006 | Gamificación | P2 | 8 | Pendiente | **Total:** 45 SP --- ## Especificaciones Técnicas | ID | Nombre | Componente | Estado | |----|--------|------------|--------| | ET-EDU-001 | Database | Database | ✅ Schema existe | | ET-EDU-002 | API REST | Backend | ✅ Parcial | | ET-EDU-003 | Frontend | Frontend | ✅ Parcial | | ET-EDU-004 | Video Streaming | Backend | Pendiente | | ET-EDU-005 | Quiz Engine | Backend | Pendiente | | ET-EDU-006 | Gamification | Backend/Frontend | Pendiente | --- ## Historias de Usuario | ID | Historia | Prioridad | SP | Estado | |----|----------|-----------|-----|--------| | US-EDU-001 | Ver catálogo de cursos | P0 | 3 | ✅ Implementado | | US-EDU-002 | Ver detalle de curso | P0 | 3 | ✅ Implementado | | US-EDU-003 | Iniciar una lección | P0 | 3 | Pendiente | | US-EDU-004 | Ver video de lección | P0 | 3 | Pendiente | | US-EDU-005 | Completar lección | P0 | 3 | Pendiente | | US-EDU-006 | Realizar quiz | P1 | 5 | Pendiente | | US-EDU-007 | Ver mi progreso | P0 | 3 | Pendiente | | US-EDU-008 | Obtener certificado | P2 | 3 | Pendiente | | US-EDU-009 | Buscar cursos | P1 | 2 | Pendiente | | US-EDU-010 | Filtrar por categoría | P1 | 2 | Pendiente | | US-EDU-011 | Marcar favorito | P2 | 2 | Pendiente | | US-EDU-012 | Dejar review | P2 | 3 | Pendiente | | US-EDU-013 | Ver XP acumulado | P2 | 2 | Pendiente | | US-EDU-014 | Desbloquear badge | P2 | 3 | Pendiente | | US-EDU-015 | Continuar donde dejé | P1 | 3 | Pendiente | **Total:** 45 SP --- ## Dependencias ### Depende de: - **OQI-001:** Autenticación (usuarios, JWT) - ✅ Completado - **OQI-005:** Pagos (compra de cursos premium) - Pendiente ### Bloquea: - Ninguna --- ## Stack Técnico | Capa | Tecnología | Uso | |------|------------|-----| | Frontend | React + Zustand | UI y estado | | Backend | Express.js | API REST | | Database | PostgreSQL | Persistencia | | Video | Cloudflare Stream / S3 | Hosting de videos | | CDN | Cloudflare | Assets estáticos | --- ## Entidades Principales ### Category - Categorías de cursos (Trading Básico, Análisis Técnico, etc.) ### Course - Curso con metadata, precio, nivel de dificultad ### Module - Agrupación de lecciones dentro de un curso ### Lesson - Contenido individual (video, artículo, quiz) ### Enrollment - Inscripción de usuario en curso ### Progress - Progreso del usuario por lección --- ## Niveles de Dificultad | Nivel | Label | Color | Cursos típicos | |-------|-------|-------|----------------| | beginner | Principiante | Verde | Introducción al trading | | intermediate | Intermedio | Azul | Análisis técnico | | advanced | Avanzado | Naranja | Estrategias avanzadas | | expert | Experto | Rojo | Trading algorítmico | --- ## Gamificación (Fase 2) ### Sistema de XP - Completar lección: +10 XP - Aprobar quiz: +25 XP - Completar curso: +100 XP - Streak diario: +5 XP ### Badges - 🎓 "Primer Paso" - Completa tu primera lección - 📚 "Estudiante Dedicado" - Completa 10 lecciones - 🏆 "Graduado" - Completa tu primer curso - 🔥 "En Racha" - 7 días seguidos de estudio - 💯 "Perfeccionista" - 100% en un quiz --- ## Criterios de Aceptación ### Funcionales - [ ] Catálogo muestra cursos con filtros y búsqueda - [ ] Usuarios pueden inscribirse en cursos - [ ] Videos reproducen correctamente - [ ] Progreso se guarda automáticamente - [ ] Quizzes validan respuestas correctamente - [ ] Certificados se generan al completar curso ### No Funcionales - [ ] Videos cargan en < 3 segundos - [ ] Catálogo carga en < 1 segundo - [ ] Responsive en mobile - [ ] Accesible (WCAG 2.1 AA) ### Técnicos - [ ] Cobertura de tests > 70% - [ ] Documentación API completa - [ ] SEO optimizado para cursos públicos --- ## Hitos | Hito | Entregables | Target | |------|-------------|--------| | M1 | Catálogo + detalle curso | Sprint 3 ✅ | | M2 | Lecciones + videos | Sprint 3 | | M3 | Progreso + quizzes | Sprint 4 | | M4 | Gamificación + certificados | Sprint 4 | --- ## Reutilización de GAMILIT Esta épica reutiliza ~70% de la arquitectura del proyecto GAMILIT: - Estructura de cursos y lecciones - Sistema de progreso - Motor de quizzes - Sistema de gamificación (XP, badges) --- ## Referencias - [README Técnico](./README.md) - [Vision del Producto](../../00-vision-general/VISION-PRODUCTO.md) - [_MAP Fase MVP](../_MAP.md)