Features: - React 18 + TypeScript frontend with Vite - Go + Gin backend API - PostgreSQL database - JWT authentication with refresh tokens - User management (admin panel) - Docker containerization - Progress tracking system - 4 economic modules structure Fixed: - Login with username or email - User creation without required email - Database nullable timestamps - API response field naming
118 lines
3.4 KiB
Markdown
118 lines
3.4 KiB
Markdown
# Plan de Desarrollo - Plataforma Economía
|
|
|
|
## ✅ Completado
|
|
- [x] Extracción de contenido de los 4 PDFs
|
|
- [x] Análisis de temas y ejercicios potenciales
|
|
- [x] Creación de carpeta econ en VPS
|
|
- [x] Subida de PDFs al servidor
|
|
- [x] Documentación inicial del proyecto
|
|
|
|
## 📋 Tareas Pendientes
|
|
|
|
### Fase 1: Setup Inicial
|
|
- [ ] Inicializar proyecto Vite + React + TypeScript
|
|
- [ ] Configurar Tailwind CSS
|
|
- [ ] Instalar dependencias principales
|
|
- [ ] Configurar estructura de carpetas
|
|
- [ ] Setup de ESLint + Prettier
|
|
- [ ] Crear Dockerfile
|
|
- [ ] Crear docker-compose.yml
|
|
- [ ] Configurar Nginx
|
|
|
|
### Fase 2: Componentes Base
|
|
- [ ] Crear Layout principal con navegación
|
|
- [ ] Componente Button con variantes
|
|
- [ ] Componente Card para contenido
|
|
- [ ] Sistema de progreso/visualización
|
|
- [ ] Tema claro/oscuro
|
|
- [ ] Componente Quiz base
|
|
- [ ] Componente de feedback (correcto/incorrecto)
|
|
|
|
### Fase 3: Módulo 1 - Fundamentos
|
|
- [ ] Página de introducción
|
|
- [ ] Contenido: Definición de economía
|
|
- [ ] Contenido: Agentes económicos
|
|
- [ ] Contenido: Factores de producción
|
|
- [ ] Contenido: Flujo circular
|
|
- [ ] Ejercicio 1: Simulador de disyuntivas
|
|
- [ ] Ejercicio 2: Quiz de bienes (normal/inferior/etc)
|
|
- [ ] Ejercicio 3: Juego del flujo circular (drag & drop)
|
|
- [ ] Test del módulo
|
|
|
|
### Fase 4: Módulo 2 - Oferta/Demanda
|
|
- [ ] Página de introducción
|
|
- [ ] Contenido: Ley de la demanda
|
|
- [ ] Contenido: Ley de la oferta
|
|
- [ ] Contenido: Equilibrio de mercado
|
|
- [ ] Contenido: Precios máximos y mínimos
|
|
- [ ] Ejercicio 1: Constructor de curvas
|
|
- [ ] Ejercicio 2: Simulador de precios intervenidos
|
|
- [ ] Ejercicio 3: Identificar shocks (¿qué curva se mueve?)
|
|
- [ ] Test del módulo
|
|
|
|
### Fase 5: Módulo 3 - Elasticidad
|
|
- [ ] Página de introducción
|
|
- [ ] Contenido: Tipos de elasticidad
|
|
- [ ] Contenido: Fórmulas y cálculos
|
|
- [ ] Ejercicio 1: Calculadora de elasticidad paso a paso
|
|
- [ ] Ejercicio 2: Clasificar bienes según elasticidad
|
|
- [ ] Ejercicio 3: Ejercicios tipo examen
|
|
- [ ] Test del módulo
|
|
|
|
### Fase 6: Módulo 4 - Productor
|
|
- [ ] Página de introducción
|
|
- [ ] Contenido: Costos y producción
|
|
- [ ] Contenido: Competencia perfecta
|
|
- [ ] Ejercicio 1: Simulador de decisión de producción
|
|
- [ ] Ejercicio 2: Calculadora de costos
|
|
- [ ] Ejercicio 3: Visualización de excedentes
|
|
- [ ] Test del módulo
|
|
|
|
### Fase 7: Gamificación
|
|
- [ ] Sistema de puntuación
|
|
- [ ] Logros/badges
|
|
- [ ] Barra de progreso global
|
|
- [ ] Dashboard de estadísticas
|
|
- [ ] Ranking (opcional)
|
|
|
|
### Fase 8: Testing y Optimización
|
|
- [ ] Tests unitarios (Vitest)
|
|
- [ ] Tests de integración
|
|
- [ ] Tests E2E con Playwright
|
|
- [ ] Optimización de imágenes/assets
|
|
- [ ] Performance audit (Lighthouse)
|
|
- [ ] Accesibilidad audit
|
|
|
|
### Fase 9: Deploy
|
|
- [ ] Configurar dominio (si aplica)
|
|
- [ ] SSL/TLS
|
|
- [ ] CI/CD pipeline
|
|
- [ ] Backup automático
|
|
- [ ] Monitoreo
|
|
|
|
## 🎯 Prioridades
|
|
|
|
### Alta Prioridad
|
|
1. Setup inicial y estructura base
|
|
2. Módulo 1 completamente funcional
|
|
3. Componentes de gráficos interactivos
|
|
4. Docker funcionando
|
|
|
|
### Media Prioridad
|
|
5. Módulos 2, 3 y 4
|
|
6. Sistema de progreso
|
|
7. Tests básicos
|
|
|
|
### Baja Prioridad
|
|
8. Gamificación avanzada
|
|
9. Tests E2E completos
|
|
10. Optimizaciones finales
|
|
|
|
## 📝 Notas
|
|
|
|
- Usar D3.js para gráficos complejos (curvas personalizables)
|
|
- Usar Recharts para gráficos simples (barras, líneas)
|
|
- Framer Motion para animaciones suaves
|
|
- Zustand para estado global simple
|
|
- LocalStorage para persistencia de progreso (fase 1)
|