Gamilit: Docs reorganization, gamification SSOT update, migration consolidation
Some checks failed
CI Pipeline / changes (push) Has been cancelled
CI Pipeline / core (push) Has been cancelled
CI Pipeline / trading-backend (push) Has been cancelled
CI Pipeline / trading-data-service (push) Has been cancelled
CI Pipeline / trading-frontend (push) Has been cancelled
CI Pipeline / erp-core (push) Has been cancelled
CI Pipeline / erp-mecanicas (push) Has been cancelled
CI Pipeline / gamilit-backend (push) Has been cancelled
CI Pipeline / gamilit-frontend (push) Has been cancelled
Some checks failed
CI Pipeline / changes (push) Has been cancelled
CI Pipeline / core (push) Has been cancelled
CI Pipeline / trading-backend (push) Has been cancelled
CI Pipeline / trading-data-service (push) Has been cancelled
CI Pipeline / trading-frontend (push) Has been cancelled
CI Pipeline / erp-core (push) Has been cancelled
CI Pipeline / erp-mecanicas (push) Has been cancelled
CI Pipeline / gamilit-backend (push) Has been cancelled
CI Pipeline / gamilit-frontend (push) Has been cancelled
Docs: - Update admin portal README and phase map - Update gamification SSOT - Update transversal map Orchestration: - Consolidate migration analysis into single directory - Remove deprecated migration files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
c554952f69
commit
db9baf21d7
@ -58,7 +58,7 @@ EAI-008-portal-admin/
|
||||
│ ├── backend/ # Backend + checklists
|
||||
│ └── frontend/ # Frontend con 4 tabs
|
||||
├── 05-otros-componentes/ # Componentes adicionales (Roles, Reports, Settings)
|
||||
└── 99-reportes-progreso/ # Reportes de avance del proyecto (50%, 75%, 100%)
|
||||
└── 99-reportes-progreso/ # Reportes finales del proyecto
|
||||
```
|
||||
|
||||
---
|
||||
@ -124,13 +124,13 @@ Cada módulo contiene:
|
||||
- **Backend:** Implementation reports con endpoints, services, DTOs, scripts de testing
|
||||
- **Frontend:** Implementation reports con páginas, componentes, hooks, integración API
|
||||
|
||||
### Fase 5: Reportes de Progreso (Cronológicos)
|
||||
### Fase 5: Reportes Finales
|
||||
📁 **Carpeta:** `99-reportes-progreso/`
|
||||
|
||||
Evolución del proyecto a lo largo del tiempo:
|
||||
1. **[50% Completo](./99-reportes-progreso/PROGRESO-IMPLEMENTACION-PORTAL-ADMIN-2025-11-24.md)** - Alertas + Analíticas
|
||||
2. **[75% Completo](./99-reportes-progreso/PROGRESO-IMPLEMENTACION-PORTAL-ADMIN-ACTUALIZADO-2025-11-24.md)** - + Progreso
|
||||
3. **[⭐ 100% Completo](./99-reportes-progreso/REPORTE-FINAL-PORTAL-ADMIN-COMPLETO-2025-11-24.md)** - Versión final + Monitoreo
|
||||
Documentación final del proyecto:
|
||||
1. **[⭐ Reporte Final](./99-reportes-progreso/REPORTE-FINAL-PORTAL-ADMIN-COMPLETO-2025-11-24.md)** - Implementación completa
|
||||
2. **[Análisis Comprehensivo](./99-reportes-progreso/REPORTE-ANALISIS-COMPREHENSIVO-2025-11-26.md)** - Análisis post-implementación
|
||||
3. **[Correcciones](./99-reportes-progreso/REPORTE-CORRECCIONES-2025-11-26.md)** - Correcciones aplicadas
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -12,18 +12,20 @@
|
||||
|
||||
## 📋 Propósito
|
||||
|
||||
Establecer las bases técnicas y funcionales de la plataforma GAMILIT con 5 épicas fundamentales que proporcionan:
|
||||
Establecer las bases técnicas y funcionales de la plataforma GAMILIT con 7 épicas fundamentales que proporcionan:
|
||||
- Autenticación y autorización robusta
|
||||
- Contenido educativo interactivo
|
||||
- Gamificación básica
|
||||
- Analytics y métricas
|
||||
- Administración inicial
|
||||
- Configuración del sistema
|
||||
- Portal de administración completo
|
||||
|
||||
---
|
||||
|
||||
## 📁 Contenido
|
||||
|
||||
### Épicas (5)
|
||||
### Épicas (7)
|
||||
|
||||
| Épica | Nombre | Presupuesto | SP | Estado | Archivos |
|
||||
|-------|--------|-------------|----|--------|----------|
|
||||
@ -32,8 +34,10 @@ Establecer las bases técnicas y funcionales de la plataforma GAMILIT con 5 épi
|
||||
| **[EAI-003](./EAI-003-gamificacion/)** | Gamificación | $22,000 | 40 | ✅ | 17+ |
|
||||
| **[EAI-004](./EAI-004-analytics/)** | Analytics | $22,000 | 35 | ✅ | 10+ |
|
||||
| **[EAI-005](./EAI-005-admin-base/)** | Admin Base | $22,000 | 50 | ✅ | 15+ |
|
||||
| **[EAI-006](./EAI-006-configuracion-sistema/)** | Configuración Sistema | - | - | ✅ | 5+ |
|
||||
| **[EAI-008](./EAI-008-portal-admin/)** | Portal Admin | - | - | ✅ | 35+ |
|
||||
|
||||
**Total:** 5 épicas, 230 SP, ~80 archivos
|
||||
**Total:** 7 épicas, 230+ SP, ~120 archivos
|
||||
|
||||
### Archivos de Fase
|
||||
|
||||
@ -161,6 +165,52 @@ Establecer las bases técnicas y funcionales de la plataforma GAMILIT con 5 épi
|
||||
|
||||
---
|
||||
|
||||
### [EAI-006: Configuración del Sistema](./EAI-006-configuracion-sistema/)
|
||||
|
||||
**Objetivo:** Sistema centralizado de configuración
|
||||
|
||||
**Entregables:**
|
||||
- Sistema de configuraciones globales (key-value)
|
||||
- Feature flags para rollouts graduales
|
||||
- Preferencias de notificaciones por usuario
|
||||
|
||||
**Documentos clave:**
|
||||
- 3 RF (RF-SYS-001 a RF-SYS-003)
|
||||
- [TRACEABILITY.yml](./EAI-006-configuracion-sistema/implementacion/TRACEABILITY.yml)
|
||||
|
||||
**Módulos afectados:**
|
||||
- BD: `system_configuration` schema (3 tablas)
|
||||
- Backend: `config` module
|
||||
- Frontend: `admin/settings` feature
|
||||
|
||||
---
|
||||
|
||||
### [EAI-008: Portal de Administración](./EAI-008-portal-admin/)
|
||||
|
||||
**Objetivo:** Portal de administración completo con 4 módulos principales
|
||||
|
||||
**Entregables:**
|
||||
- Módulo de Alertas (sistema FSM, 7 endpoints)
|
||||
- Módulo de Analíticas (4 tabs, 7 gráficos)
|
||||
- Módulo de Progreso (3 vistas, drill-down, CSV export)
|
||||
- Módulo de Monitoreo (4 tabs, auto-refresh)
|
||||
|
||||
**Documentos clave:**
|
||||
- [README.md](./EAI-008-portal-admin/README.md)
|
||||
- [Reporte Final](./EAI-008-portal-admin/99-reportes-progreso/REPORTE-FINAL-PORTAL-ADMIN-COMPLETO-2025-11-24.md)
|
||||
|
||||
**Módulos afectados:**
|
||||
- BD: `admin_dashboard`, vistas materializadas
|
||||
- Backend: `admin` module (25 endpoints, 41 DTOs)
|
||||
- Frontend: `admin/*` (21 componentes, 4 hooks)
|
||||
|
||||
**Métricas:**
|
||||
- 11,437 líneas de código
|
||||
- 62+ tests automatizados
|
||||
- 11 páginas funcionales
|
||||
|
||||
---
|
||||
|
||||
## 📊 Resumen Técnico
|
||||
|
||||
### Base de Datos
|
||||
|
||||
@ -2,8 +2,6 @@
|
||||
|
||||
**Single Source of Truth (SSOT)** para toda la documentación relacionada con gamificación.
|
||||
|
||||
**Fecha de creación:** 2025-12-19
|
||||
**Última actualización:** 2025-12-19
|
||||
**Versión:** 1.0
|
||||
|
||||
---
|
||||
@ -115,7 +113,3 @@ sistema-recompensas/ → Implementación actual v2.3.0 (SSOT técnica)
|
||||
| **Backend** | `apps/backend/src/modules/gamification/` |
|
||||
| **Frontend** | `apps/frontend/src/features/student/gamification/` |
|
||||
|
||||
---
|
||||
|
||||
**Mantenido por:** Architecture-Analyst
|
||||
**Última revisión:** 2025-12-19
|
||||
|
||||
@ -37,6 +37,7 @@ Esta carpeta contiene documentacion **definitiva y vigente** del estado actual d
|
||||
| `README.md` | Indice de la carpeta |
|
||||
| `_MAP.md` | Este archivo - mapa de navegacion |
|
||||
| `EJERCICIOS-PREGUNTAS-RESPUESTAS.md` | Documentacion de ejercicios |
|
||||
| `SSOT-GAMIFICACION.md` | Single Source of Truth para sistema de gamificacion |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -0,0 +1,252 @@
|
||||
# ANÁLISIS DE CONFLICTOS - MIGRACIÓN GAMILIT
|
||||
|
||||
**Fecha:** 2025-12-18
|
||||
**Versión:** 1.0.0
|
||||
**Estado:** FASE 2 - ANÁLISIS COMPLETADO
|
||||
|
||||
---
|
||||
|
||||
## 1. RESUMEN DE CONFLICTOS
|
||||
|
||||
| Categoría | Cantidad | Resolución |
|
||||
|-----------|----------|------------|
|
||||
| **Archivos con conflicto potencial** | 43 | Usar versión ORIGEN |
|
||||
| **Solo en ORIGEN (nuevos)** | 97 | Copiar a DESTINO |
|
||||
| **Solo en ORIGEN (eliminados)** | 64 | Eliminar en DESTINO |
|
||||
| **Solo en DESTINO** | ~108 | Evaluar/Descartar |
|
||||
|
||||
---
|
||||
|
||||
## 2. ARCHIVOS CON CONFLICTO (43)
|
||||
|
||||
Estos archivos están modificados en AMBOS repositorios.
|
||||
**Resolución:** Usar versión del ORIGEN (workspace actual) como fuente de verdad.
|
||||
|
||||
### 2.1 Backend (7 archivos)
|
||||
```
|
||||
apps/backend/src/modules/gamification/entities/user-purchase.entity.ts
|
||||
apps/backend/src/modules/gamification/services/shop.service.ts
|
||||
apps/backend/src/modules/progress/services/exercise-attempt.service.ts
|
||||
apps/backend/src/modules/teacher/controllers/manual-review.controller.ts
|
||||
apps/backend/src/modules/teacher/teacher.module.ts
|
||||
apps/backend/src/shared/constants/database.constants.ts
|
||||
apps/backend/src/shared/constants/enums.constants.ts
|
||||
```
|
||||
|
||||
### 2.2 Database (4 archivos)
|
||||
```
|
||||
apps/database/create-database.sh
|
||||
apps/database/ddl/00-prerequisites.sql
|
||||
apps/database/seeds/dev/educational_content/05-exercises-module4.sql
|
||||
apps/database/seeds/prod/gamification_system/04-achievements.sql
|
||||
```
|
||||
|
||||
### 2.3 Frontend (29 archivos)
|
||||
|
||||
#### App y Config
|
||||
```
|
||||
apps/frontend/src/App.tsx
|
||||
apps/frontend/src/config/api.config.ts
|
||||
```
|
||||
|
||||
#### Admin Portal
|
||||
```
|
||||
apps/frontend/src/apps/admin/pages/AdminProgressPage.tsx
|
||||
```
|
||||
|
||||
#### Student Portal
|
||||
```
|
||||
apps/frontend/src/apps/student/pages/ShopPage.tsx
|
||||
```
|
||||
|
||||
#### Teacher Portal
|
||||
```
|
||||
apps/frontend/src/apps/teacher/components/responses/ResponseDetailModal.tsx
|
||||
apps/frontend/src/apps/teacher/components/responses/ResponsesTable.tsx
|
||||
apps/frontend/src/apps/teacher/pages/TeacherAlertsPage.tsx
|
||||
apps/frontend/src/apps/teacher/pages/TeacherAnalyticsPage.tsx
|
||||
apps/frontend/src/apps/teacher/pages/TeacherAssignmentsPage.tsx
|
||||
apps/frontend/src/apps/teacher/pages/TeacherContentPage.tsx
|
||||
apps/frontend/src/apps/teacher/pages/TeacherExerciseResponsesPage.tsx
|
||||
apps/frontend/src/apps/teacher/pages/TeacherGamificationPage.tsx
|
||||
apps/frontend/src/apps/teacher/pages/TeacherMonitoringPage.tsx
|
||||
apps/frontend/src/apps/teacher/pages/TeacherProgressPage.tsx
|
||||
apps/frontend/src/apps/teacher/pages/TeacherReportsPage.tsx
|
||||
apps/frontend/src/apps/teacher/pages/TeacherResourcesPage.tsx
|
||||
```
|
||||
|
||||
#### Mechanics
|
||||
```
|
||||
apps/frontend/src/features/mechanics/module1/Crucigrama/CrucigramaExercise.tsx
|
||||
apps/frontend/src/features/mechanics/module2/DetectiveTextual/DetectiveTextualExercise.tsx
|
||||
apps/frontend/src/features/mechanics/module4/AnalisisMemes/AnalisisMemesExercise.tsx
|
||||
apps/frontend/src/features/mechanics/module4/InfografiaInteractiva/InfografiaInteractivaExercise.tsx
|
||||
apps/frontend/src/features/mechanics/module4/NavegacionHipertextual/NavegacionHipertextualExercise.tsx
|
||||
apps/frontend/src/features/mechanics/module4/QuizTikTok/QuizTikTokExercise.tsx
|
||||
apps/frontend/src/features/mechanics/module4/VerificadorFakeNews/VerificadorFakeNewsExercise.tsx
|
||||
apps/frontend/src/features/mechanics/module5/ComicDigital/ComicDigitalExercise.tsx
|
||||
apps/frontend/src/features/mechanics/module5/DiarioMultimedia/DiarioMultimediaExercise.tsx
|
||||
apps/frontend/src/features/mechanics/module5/VideoCarta/VideoCartaExercise.tsx
|
||||
```
|
||||
|
||||
#### Shared
|
||||
```
|
||||
apps/frontend/src/shared/components/mechanics/ExerciseContentRenderer.tsx
|
||||
apps/frontend/src/shared/hooks/useInvalidateDashboard.ts
|
||||
```
|
||||
|
||||
### 2.4 Docs/Orchestration (3 archivos)
|
||||
```
|
||||
docs/README.md
|
||||
orchestration/inventarios/BACKEND_INVENTORY.yml
|
||||
orchestration/inventarios/DATABASE_INVENTORY.yml
|
||||
orchestration/inventarios/FRONTEND_INVENTORY.yml
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. ARCHIVOS SOLO EN DESTINO
|
||||
|
||||
Estos archivos existen en el DESTINO pero NO están en la lista de cambios del ORIGEN.
|
||||
**Acción:** Revisar si deben mantenerse o si son obsoletos.
|
||||
|
||||
### Archivos a evaluar en DESTINO:
|
||||
```
|
||||
apps/backend/.gitignore
|
||||
apps/backend/package.json
|
||||
apps/backend/src/modules/educational/educational.module.ts
|
||||
apps/backend/src/modules/educational/entities/index.ts
|
||||
apps/backend/src/modules/educational/services/exercises.service.ts
|
||||
apps/backend/src/modules/gamification/controllers/index.ts
|
||||
apps/backend/src/modules/gamification/dto/ml-coins/transaction-response.dto.ts
|
||||
apps/backend/src/modules/gamification/entities/index.ts
|
||||
apps/backend/src/modules/gamification/entities/maya-rank.entity.ts
|
||||
apps/backend/src/modules/gamification/gamification.module.ts
|
||||
apps/backend/src/modules/gamification/services/index.ts
|
||||
apps/backend/src/modules/gamification/services/ml-coins.service.ts
|
||||
apps/backend/src/modules/gamification/services/ranks.service.ts
|
||||
apps/backend/src/modules/notifications/controllers/notification-devices.controller.ts
|
||||
apps/backend/src/modules/notifications/notifications.module.ts
|
||||
apps/backend/src/modules/notifications/services/notification-queue.service.ts
|
||||
apps/backend/src/modules/notifications/services/notification.service.ts
|
||||
apps/backend/src/modules/progress/entities/index.ts
|
||||
apps/backend/src/modules/teacher/services/index.ts
|
||||
apps/frontend/.env.example
|
||||
apps/frontend/package.json
|
||||
apps/frontend/src/apps/student/pages/DeviceManagementSection.tsx
|
||||
apps/frontend/src/apps/teacher/pages/TeacherCommunicationPage.tsx
|
||||
apps/frontend/src/apps/teacher/pages/TeacherDashboardPage.tsx
|
||||
apps/frontend/src/features/gamification/economy/types/economyTypes.ts
|
||||
apps/frontend/src/features/gamification/ranks/store/ranksStore.ts
|
||||
...
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. ESTRATEGIA DE RESOLUCIÓN
|
||||
|
||||
### 4.1 Principio General
|
||||
- **ORIGEN = Fuente de Verdad**
|
||||
- Todos los cambios del ORIGEN sobrescriben el DESTINO
|
||||
- Los archivos eliminados en ORIGEN se eliminan en DESTINO
|
||||
- Los archivos nuevos en ORIGEN se copian a DESTINO
|
||||
|
||||
### 4.2 Para archivos solo en DESTINO
|
||||
**Opción recomendada:** Descartar cambios del DESTINO (hacer `git checkout .`)
|
||||
**Razón:** El ORIGEN representa el estado final deseado
|
||||
|
||||
### 4.3 Orden de operaciones
|
||||
1. **Backup del DESTINO** (git stash o copia)
|
||||
2. **Sincronizar archivos modificados** (copiar de ORIGEN a DESTINO)
|
||||
3. **Copiar archivos nuevos** (de ORIGEN a DESTINO)
|
||||
4. **Eliminar archivos obsoletos** (los marcados como D en ORIGEN)
|
||||
5. **Descartar cambios locales del DESTINO** (git checkout para archivos no sincronizados)
|
||||
6. **Verificar integridad** (build, lint, tests)
|
||||
7. **Commit y push**
|
||||
|
||||
---
|
||||
|
||||
## 5. COMANDOS DE SINCRONIZACIÓN
|
||||
|
||||
### 5.1 Backup del destino
|
||||
```bash
|
||||
cd /home/isem/workspace-old/wsl-ubuntu/workspace/workspace-gamilit/gamilit/projects/gamilit
|
||||
git stash push -m "Backup antes de sincronización $(date +%Y-%m-%d)"
|
||||
```
|
||||
|
||||
### 5.2 Sincronizar con rsync
|
||||
```bash
|
||||
# Copiar archivos modificados y nuevos
|
||||
rsync -av --delete \
|
||||
--exclude='.git' \
|
||||
--exclude='node_modules' \
|
||||
--exclude='dist' \
|
||||
--exclude='.env' \
|
||||
/home/isem/workspace/projects/gamilit/ \
|
||||
/home/isem/workspace-old/wsl-ubuntu/workspace/workspace-gamilit/gamilit/projects/gamilit/
|
||||
```
|
||||
|
||||
### 5.3 Eliminar archivos obsoletos manualmente
|
||||
```bash
|
||||
# Archivos frontend module4 eliminados
|
||||
rm -rf apps/frontend/src/features/mechanics/module4/ChatLiterario/
|
||||
rm -rf apps/frontend/src/features/mechanics/module4/EmailFormal/
|
||||
rm -rf apps/frontend/src/features/mechanics/module4/EnsayoArgumentativo/
|
||||
rm -rf apps/frontend/src/features/mechanics/module4/ResenaCritica/
|
||||
|
||||
# DTOs backend eliminados
|
||||
rm -f apps/backend/src/modules/educational/dto/module5/diario-reflexivo-answer.dto.ts
|
||||
rm -f apps/backend/src/modules/educational/dto/module5/podcast-answer.dto.ts
|
||||
|
||||
# Seeds eliminados
|
||||
rm -f apps/database/seeds/prod/auth_management/05-profiles-demo.sql
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. VALIDACIÓN POST-SINCRONIZACIÓN
|
||||
|
||||
### 6.1 Verificar estructura
|
||||
```bash
|
||||
ls -la apps/backend/src/modules/
|
||||
ls -la apps/frontend/src/features/mechanics/module4/
|
||||
ls -la apps/frontend/src/features/mechanics/module5/
|
||||
ls -la apps/database/seeds/prod/
|
||||
```
|
||||
|
||||
### 6.2 Verificar builds
|
||||
```bash
|
||||
cd apps/backend && npm run build
|
||||
cd apps/frontend && npm run build
|
||||
```
|
||||
|
||||
### 6.3 Verificar imports (TypeScript)
|
||||
```bash
|
||||
cd apps/backend && npx tsc --noEmit
|
||||
cd apps/frontend && npx tsc --noEmit
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. RIESGOS Y MITIGACIÓN
|
||||
|
||||
| Riesgo | Probabilidad | Impacto | Mitigación |
|
||||
|--------|--------------|---------|------------|
|
||||
| Pérdida de cambios en destino | Alta | Medio | Backup con git stash |
|
||||
| Imports rotos | Media | Alto | Verificar TypeScript |
|
||||
| Seeds desincronizados | Media | Alto | Verificar orden de seeds |
|
||||
| Dependencias faltantes | Baja | Alto | Revisar package.json |
|
||||
|
||||
---
|
||||
|
||||
## 8. SIGUIENTE PASO
|
||||
|
||||
Proceder con la **FASE 3: Planeación de Implementación** que incluirá:
|
||||
1. Script automatizado de sincronización
|
||||
2. Checklist de validación
|
||||
3. Plan de rollback
|
||||
|
||||
---
|
||||
|
||||
**Generado por:** Requirements-Analyst Agent
|
||||
**Fecha:** 2025-12-18
|
||||
@ -0,0 +1,191 @@
|
||||
# CHECKLIST DE VALIDACIÓN - MIGRACIÓN GAMILIT
|
||||
|
||||
**Fecha:** 2025-12-18
|
||||
**Versión:** 1.0.0
|
||||
|
||||
---
|
||||
|
||||
## PRE-SINCRONIZACIÓN
|
||||
|
||||
### Verificaciones Iniciales
|
||||
- [ ] Verificar que el repositorio ORIGEN tiene todos los cambios commitados o guardados
|
||||
- [ ] Verificar que el repositorio DESTINO está accesible
|
||||
- [ ] Verificar espacio en disco suficiente para backup
|
||||
- [ ] Verificar que no hay procesos corriendo en DESTINO (npm run dev, etc.)
|
||||
|
||||
### Backup
|
||||
- [ ] Crear backup del DESTINO con `git stash` o copia física
|
||||
- [ ] Documentar el estado actual del DESTINO (último commit, cambios pendientes)
|
||||
- [ ] Guardar copia de seeds críticos de producción
|
||||
|
||||
---
|
||||
|
||||
## DURANTE SINCRONIZACIÓN
|
||||
|
||||
### Database (70 archivos)
|
||||
- [ ] DDL sincronizado (schemas, tables, functions, triggers)
|
||||
- [ ] Seeds DEV sincronizados
|
||||
- [ ] Seeds PROD sincronizados
|
||||
- [ ] Seeds STAGING sincronizados
|
||||
- [ ] Archivo create-database.sh actualizado
|
||||
|
||||
### Backend (40 archivos)
|
||||
- [ ] Módulo assignments sincronizado
|
||||
- [ ] Módulo auth sincronizado
|
||||
- [ ] Módulo educational sincronizado
|
||||
- [ ] Módulo gamification sincronizado
|
||||
- [ ] Módulo progress sincronizado
|
||||
- [ ] Módulo teacher sincronizado
|
||||
- [ ] Módulo admin sincronizado
|
||||
- [ ] Módulo health sincronizado
|
||||
- [ ] Constantes shared sincronizadas
|
||||
|
||||
### Frontend (105 archivos)
|
||||
- [ ] App.tsx sincronizado
|
||||
- [ ] Admin portal sincronizado (13 archivos)
|
||||
- [ ] Student portal sincronizado (6 archivos)
|
||||
- [ ] Teacher portal sincronizado (18 archivos)
|
||||
- [ ] Features gamification sincronizado (11 archivos)
|
||||
- [ ] Features mechanics module1-2 sincronizado
|
||||
- [ ] Features mechanics module4 sincronizado (7 archivos activos)
|
||||
- [ ] Features mechanics module5 sincronizado (3 archivos + nuevos)
|
||||
- [ ] Services API sincronizados
|
||||
- [ ] Shared components sincronizados
|
||||
|
||||
### Docs (117 archivos)
|
||||
- [ ] Documentación actualizada sincronizada
|
||||
- [ ] Archivos obsoletos eliminados (53 archivos)
|
||||
- [ ] Guías de desarrollo sincronizadas
|
||||
|
||||
### Orchestration (61 archivos)
|
||||
- [ ] Inventarios sincronizados
|
||||
- [ ] Reportes sincronizados
|
||||
- [ ] Guidelines sincronizados
|
||||
|
||||
---
|
||||
|
||||
## ELIMINACIÓN DE OBSOLETOS
|
||||
|
||||
### Frontend - Mecánicas Eliminadas
|
||||
- [ ] `ChatLiterario/` eliminado
|
||||
- [ ] `EmailFormal/` eliminado
|
||||
- [ ] `EnsayoArgumentativo/` eliminado
|
||||
- [ ] `ResenaCritica/` eliminado
|
||||
|
||||
### Backend - DTOs Eliminados
|
||||
- [ ] `diario-reflexivo-answer.dto.ts` eliminado
|
||||
- [ ] `podcast-answer.dto.ts` eliminado
|
||||
|
||||
### Database - Seeds Eliminados
|
||||
- [ ] `05-profiles-demo.sql` eliminado de prod/auth_management
|
||||
|
||||
---
|
||||
|
||||
## POST-SINCRONIZACIÓN
|
||||
|
||||
### Verificación de Estructura
|
||||
- [ ] Verificar que existen los archivos nuevos en DESTINO
|
||||
- [ ] Verificar que NO existen los archivos eliminados en DESTINO
|
||||
- [ ] Verificar permisos de archivos (especialmente scripts .sh)
|
||||
|
||||
### Verificación de Código
|
||||
|
||||
#### Backend
|
||||
```bash
|
||||
cd apps/backend
|
||||
npm install # [ ] Sin errores
|
||||
npm run build # [ ] Sin errores
|
||||
npm run lint # [ ] Sin errores críticos
|
||||
npx tsc --noEmit # [ ] Sin errores de TypeScript
|
||||
```
|
||||
|
||||
#### Frontend
|
||||
```bash
|
||||
cd apps/frontend
|
||||
npm install # [ ] Sin errores
|
||||
npm run build # [ ] Sin errores
|
||||
npm run lint # [ ] Sin errores críticos
|
||||
npx tsc --noEmit # [ ] Sin errores de TypeScript
|
||||
```
|
||||
|
||||
### Verificación de Imports
|
||||
- [ ] No hay imports a archivos eliminados (ChatLiterario, EmailFormal, etc.)
|
||||
- [ ] No hay imports a DTOs eliminados (diario-reflexivo, podcast)
|
||||
- [ ] Los nuevos DTOs están correctamente exportados
|
||||
- [ ] Los nuevos componentes están correctamente exportados
|
||||
|
||||
### Verificación de Seeds
|
||||
- [ ] Orden de seeds es correcto (sin dependencias circulares)
|
||||
- [ ] UUIDs son consistentes entre tablas relacionadas
|
||||
- [ ] No hay referencias a usuarios/perfiles eliminados
|
||||
|
||||
---
|
||||
|
||||
## COMMIT Y PUSH
|
||||
|
||||
### Pre-Commit
|
||||
- [ ] `git status` muestra solo los cambios esperados
|
||||
- [ ] No hay archivos sensibles (.env, credenciales)
|
||||
- [ ] No hay archivos de backup temporales
|
||||
|
||||
### Commit
|
||||
- [ ] Mensaje descriptivo con fecha y resumen de cambios
|
||||
- [ ] Referencias a documentación de migración
|
||||
|
||||
### Push
|
||||
- [ ] Push exitoso a rama main/master
|
||||
- [ ] Verificar en GitHub/GitLab que los cambios están
|
||||
|
||||
---
|
||||
|
||||
## VALIDACIÓN FINAL
|
||||
|
||||
### Funcional (si aplica en staging/producción)
|
||||
- [ ] Login funciona correctamente
|
||||
- [ ] Portal estudiante carga
|
||||
- [ ] Portal maestro carga
|
||||
- [ ] Portal admin carga
|
||||
- [ ] Ejercicios de módulo 1-5 funcionan
|
||||
- [ ] Sistema de gamificación funciona
|
||||
|
||||
### Base de Datos (si se ejecutan seeds)
|
||||
- [ ] Seeds de desarrollo cargan sin errores
|
||||
- [ ] Seeds de producción cargan sin errores
|
||||
- [ ] Datos críticos están presentes
|
||||
|
||||
---
|
||||
|
||||
## ROLLBACK (si es necesario)
|
||||
|
||||
### Pasos de Rollback
|
||||
1. [ ] Detener servicios en producción
|
||||
2. [ ] Restaurar desde git stash: `git stash pop`
|
||||
3. [ ] O restaurar desde backup físico
|
||||
4. [ ] Verificar que el rollback fue exitoso
|
||||
5. [ ] Reiniciar servicios
|
||||
6. [ ] Documentar la razón del rollback
|
||||
|
||||
---
|
||||
|
||||
## NOTAS Y OBSERVACIONES
|
||||
|
||||
| Fecha | Observación | Acción Tomada |
|
||||
|-------|-------------|---------------|
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
|
||||
---
|
||||
|
||||
## FIRMA DE VALIDACIÓN
|
||||
|
||||
| Rol | Nombre | Fecha | Firma |
|
||||
|-----|--------|-------|-------|
|
||||
| Desarrollador | | | |
|
||||
| QA | | | |
|
||||
| DevOps | | | |
|
||||
|
||||
---
|
||||
|
||||
**Generado por:** Requirements-Analyst Agent
|
||||
**Fecha:** 2025-12-18
|
||||
@ -0,0 +1,114 @@
|
||||
# CORRECCIONES REALIZADAS - MIGRACIÓN GAMILIT
|
||||
|
||||
**Fecha:** 2025-12-18
|
||||
**Versión:** 1.0.0
|
||||
**Estado:** COMPLETADO
|
||||
|
||||
---
|
||||
|
||||
## 1. RESUMEN DE CORRECCIONES
|
||||
|
||||
| Tipo | Archivo | Corrección | Estado |
|
||||
|------|---------|------------|--------|
|
||||
| Frontend | `src/features/mechanics/index.ts` | Eliminados exports de componentes inexistentes | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## 2. DETALLE DE CORRECCIONES
|
||||
|
||||
### 2.1 Frontend - index.ts de mechanics
|
||||
|
||||
**Archivo:** `apps/frontend/src/features/mechanics/index.ts`
|
||||
|
||||
**Problema detectado:**
|
||||
El archivo exportaba componentes que habían sido eliminados:
|
||||
- `EmailFormalExercise`
|
||||
- `ChatLiterarioExercise`
|
||||
- `EnsayoArgumentativoExercise`
|
||||
- `ResenaCriticaExercise`
|
||||
|
||||
**Corrección aplicada:**
|
||||
Eliminados los exports de los 4 componentes inexistentes y agregado comentario explicativo.
|
||||
|
||||
**Antes:**
|
||||
```typescript
|
||||
// Module 4: Additional Reading Mechanics
|
||||
export { VerificadorFakeNewsExercise } from './module4/VerificadorFakeNews/VerificadorFakeNewsExercise';
|
||||
export { EmailFormalExercise } from './module4/EmailFormal/EmailFormalExercise';
|
||||
export { ChatLiterarioExercise } from './module4/ChatLiterario/ChatLiterarioExercise';
|
||||
export { EnsayoArgumentativoExercise } from './module4/EnsayoArgumentativo/EnsayoArgumentativoExercise';
|
||||
export { ResenaCriticaExercise } from './module4/ResenaCritica/ResenaCriticaExercise';
|
||||
export { QuizTikTokExercise } from './module4/QuizTikTok/QuizTikTokExercise';
|
||||
...
|
||||
```
|
||||
|
||||
**Después:**
|
||||
```typescript
|
||||
// Module 4: Additional Reading Mechanics
|
||||
// NOTA: Ejercicios eliminados según DocumentoDeDiseño v6.1:
|
||||
// - EmailFormal, ChatLiterario, EnsayoArgumentativo, ResenaCritica
|
||||
// Solo se mantienen los 5 ejercicios oficiales del M4
|
||||
export { VerificadorFakeNewsExercise } from './module4/VerificadorFakeNews/VerificadorFakeNewsExercise';
|
||||
export { QuizTikTokExercise } from './module4/QuizTikTok/QuizTikTokExercise';
|
||||
export { AnalisisMemesExercise } from './module4/AnalisisMemes/AnalisisMemesExercise';
|
||||
export { InfografiaInteractivaExercise } from './module4/InfografiaInteractiva/InfografiaInteractivaExercise';
|
||||
export { NavegacionHipertextualExercise } from './module4/NavegacionHipertextual/NavegacionHipertextualExercise';
|
||||
...
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. VALIDACIONES REALIZADAS
|
||||
|
||||
### 3.1 Imports de archivos eliminados
|
||||
- ✅ No hay imports a `ChatLiterario` en ningún archivo
|
||||
- ✅ No hay imports a `EmailFormal` en ningún archivo
|
||||
- ✅ No hay imports a `EnsayoArgumentativo` en ningún archivo
|
||||
- ✅ No hay imports a `ResenaCritica` en ningún archivo
|
||||
- ✅ No hay imports a DTOs eliminados (`diario-reflexivo-answer.dto.ts`, `podcast-answer.dto.ts`)
|
||||
|
||||
### 3.2 Exports de archivos nuevos
|
||||
- ✅ DTOs Module5 correctamente exportados en `index.ts`
|
||||
- ✅ Componentes Module5 correctamente exportados (ComicDigital, DiarioMultimedia, VideoCarta)
|
||||
- ✅ Nuevos hooks correctamente creados (`useRanksConfig`, `useClassroomsList`)
|
||||
|
||||
### 3.3 Coherencia Types/DTOs
|
||||
- ✅ Backend DTOs Module5: 3 archivos (comic-digital, diario-multimedia, video-carta)
|
||||
- ✅ Frontend Types Module5: 3 directorios con tipos correspondientes
|
||||
- ✅ Alineación correcta entre backend y frontend
|
||||
|
||||
---
|
||||
|
||||
## 4. ARCHIVOS AFECTADOS POR CORRECCIONES
|
||||
|
||||
| Archivo | Líneas Modificadas | Tipo de Cambio |
|
||||
|---------|-------------------|----------------|
|
||||
| `apps/frontend/src/features/mechanics/index.ts` | 3-6 | Eliminación de exports |
|
||||
|
||||
---
|
||||
|
||||
## 5. IMPACTO DE LAS CORRECCIONES
|
||||
|
||||
### Build Frontend
|
||||
- **Antes:** Error de compilación por imports a archivos inexistentes
|
||||
- **Después:** Compilación exitosa (pendiente verificación)
|
||||
|
||||
### Funcionalidad
|
||||
- Sin impacto funcional (los componentes eliminados no estaban en uso activo)
|
||||
- Módulo 4 ahora tiene 5 ejercicios oficiales (vs 9 anteriormente)
|
||||
- Módulo 5 tiene 3 ejercicios oficiales
|
||||
|
||||
---
|
||||
|
||||
## 6. PENDIENTES
|
||||
|
||||
### Verificación post-sincronización
|
||||
1. [ ] Ejecutar `npm run build` en frontend
|
||||
2. [ ] Ejecutar `npm run build` en backend
|
||||
3. [ ] Verificar que la aplicación carga correctamente
|
||||
4. [ ] Verificar que los ejercicios de M4 y M5 funcionan
|
||||
|
||||
---
|
||||
|
||||
**Generado por:** Requirements-Analyst Agent
|
||||
**Fecha:** 2025-12-18
|
||||
@ -0,0 +1,455 @@
|
||||
# INVENTARIO COMPLETO DE CAMBIOS - GAMILIT
|
||||
|
||||
**Fecha:** 2025-12-18
|
||||
**Versión:** 1.0.0
|
||||
**Total archivos:** 395
|
||||
|
||||
---
|
||||
|
||||
## RESUMEN EJECUTIVO
|
||||
|
||||
| Área | Modificados (M) | Nuevos (??) | Eliminados (D) | Total |
|
||||
|------|-----------------|-------------|----------------|-------|
|
||||
| **Frontend** | 83 | 14 | 8 | 105 |
|
||||
| **Docs** | 58 | 6 | 53 | 117 |
|
||||
| **Database** | 35 | 34 | 1 | 70 |
|
||||
| **Orchestration** | 20 | 41 | 0 | 61 |
|
||||
| **Backend** | 36 | 2 | 2 | 40 |
|
||||
| **Otros** | 2 | 0 | 0 | 2 |
|
||||
| **TOTAL** | 234 | 97 | 64 | 395 |
|
||||
|
||||
---
|
||||
|
||||
## 1. DATABASE (70 archivos)
|
||||
|
||||
### 1.1 Archivos Modificados (35)
|
||||
|
||||
#### DDL - Schemas y Funciones
|
||||
```
|
||||
projects/gamilit/apps/database/ddl/00-prerequisites.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/auth/_MAP.md
|
||||
projects/gamilit/apps/database/ddl/schemas/auth/tables/01-users.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/educational_content/functions/14-validate_rueda_inferencias.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/gamification_system/functions/06-update_missions_updated_at.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/gamification_system/functions/07-update_notifications_updated_at.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/gamification_system/functions/calculate_maya_rank_helpers.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/gamification_system/functions/calculate_user_rank.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/gamification_system/functions/get_user_rank_progress.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/gamification_system/functions/update_leaderboard_global.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/gamification_system/functions/update_leaderboard_streaks.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/gamification_system/tables/20-mission_templates.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/progress_tracking/functions/05-get_classroom_analytics.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/progress_tracking/functions/06-update_mission_progress.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/public/_MAP.md
|
||||
projects/gamilit/apps/database/ddl/schemas/storage/_MAP.md
|
||||
```
|
||||
|
||||
#### Seeds - Dev
|
||||
```
|
||||
projects/gamilit/apps/database/seeds/dev/auth/01-demo-users.sql
|
||||
projects/gamilit/apps/database/seeds/dev/educational_content/05-exercises-module4.sql
|
||||
projects/gamilit/apps/database/seeds/dev/gamification_system/04-achievements.sql
|
||||
projects/gamilit/apps/database/seeds/dev/social_features/01-schools.sql
|
||||
projects/gamilit/apps/database/seeds/dev/social_features/02-classrooms.sql
|
||||
projects/gamilit/apps/database/seeds/dev/social_features/03-classroom-members.sql
|
||||
```
|
||||
|
||||
#### Seeds - Prod
|
||||
```
|
||||
projects/gamilit/apps/database/seeds/prod/auth/01-demo-users.sql
|
||||
projects/gamilit/apps/database/seeds/prod/auth/02-production-users.sql
|
||||
projects/gamilit/apps/database/seeds/prod/auth_management/06-profiles-production.sql
|
||||
projects/gamilit/apps/database/seeds/prod/educational_content/05-exercises-module4.sql
|
||||
projects/gamilit/apps/database/seeds/prod/educational_content/06-exercises-module5.sql
|
||||
projects/gamilit/apps/database/seeds/prod/gamification_system/04-achievements.sql
|
||||
projects/gamilit/apps/database/seeds/prod/social_features/01-schools.sql
|
||||
projects/gamilit/apps/database/seeds/prod/social_features/02-classrooms.sql
|
||||
projects/gamilit/apps/database/seeds/prod/social_features/03-classroom-members.sql
|
||||
projects/gamilit/apps/database/seeds/prod/social_features/04-friendships.sql
|
||||
```
|
||||
|
||||
#### Seeds - Staging
|
||||
```
|
||||
projects/gamilit/apps/database/seeds/staging/gamification_system/02-achievements.sql
|
||||
```
|
||||
|
||||
#### Otros
|
||||
```
|
||||
projects/gamilit/apps/database/README.md
|
||||
projects/gamilit/apps/database/create-database.sh
|
||||
```
|
||||
|
||||
### 1.2 Archivos Nuevos (34)
|
||||
|
||||
#### DDL - Nuevas Políticas RLS y Triggers
|
||||
```
|
||||
projects/gamilit/apps/database/backup-prod/
|
||||
projects/gamilit/apps/database/ddl/schemas/auth_management/rls-policies/02-enable-rls.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/auth_management/triggers/03b-trg_ensure_profile_name.sql
|
||||
projects/gamilit/apps/database/ddl/schemas/communication/rls-policies/
|
||||
projects/gamilit/apps/database/ddl/schemas/notifications/rls-policies/
|
||||
```
|
||||
|
||||
#### Seeds - Dev (Nuevos)
|
||||
```
|
||||
projects/gamilit/apps/database/seeds/dev/auth_management/02-tenants-production.sql
|
||||
projects/gamilit/apps/database/seeds/dev/auth_management/04-profiles-complete.sql
|
||||
projects/gamilit/apps/database/seeds/dev/auth_management/06-profiles-production.sql
|
||||
projects/gamilit/apps/database/seeds/dev/auth_management/07-user_roles.sql
|
||||
projects/gamilit/apps/database/seeds/dev/auth_management/08-assign-admin-schools.sql
|
||||
projects/gamilit/apps/database/seeds/dev/content_management/02-marie_curie_content.sql
|
||||
projects/gamilit/apps/database/seeds/dev/educational_content/05-assignments.sql
|
||||
projects/gamilit/apps/database/seeds/dev/educational_content/10-exercise_validation_config.sql
|
||||
projects/gamilit/apps/database/seeds/dev/educational_content/11-module_dependencies.sql
|
||||
projects/gamilit/apps/database/seeds/dev/educational_content/12-taxonomies.sql
|
||||
projects/gamilit/apps/database/seeds/dev/gamification_system/05-user_stats.sql
|
||||
projects/gamilit/apps/database/seeds/dev/gamification_system/06-user_ranks.sql
|
||||
projects/gamilit/apps/database/seeds/dev/gamification_system/07-ml_coins_transactions.sql
|
||||
projects/gamilit/apps/database/seeds/dev/gamification_system/08-user_achievements.sql
|
||||
projects/gamilit/apps/database/seeds/dev/gamification_system/09-comodines_inventory.sql
|
||||
projects/gamilit/apps/database/seeds/dev/gamification_system/10-mission_templates.sql
|
||||
projects/gamilit/apps/database/seeds/dev/gamification_system/11-missions-production-users.sql
|
||||
projects/gamilit/apps/database/seeds/dev/gamification_system/12-shop_categories.sql
|
||||
projects/gamilit/apps/database/seeds/dev/gamification_system/13-shop_items.sql
|
||||
projects/gamilit/apps/database/seeds/dev/social_features/00-schools-default.sql
|
||||
projects/gamilit/apps/database/seeds/dev/social_features/04-friendships.sql
|
||||
```
|
||||
|
||||
#### Seeds - Prod (Nuevos)
|
||||
```
|
||||
projects/gamilit/apps/database/seeds/prod/auth_management/07-user_roles.sql
|
||||
projects/gamilit/apps/database/seeds/prod/auth_management/08-assign-admin-schools.sql
|
||||
projects/gamilit/apps/database/seeds/prod/auth_management/_deprecated/05-profiles-demo.sql
|
||||
projects/gamilit/apps/database/seeds/prod/content_management/02-marie_curie_content.sql
|
||||
projects/gamilit/apps/database/seeds/prod/educational_content/11-module_dependencies.sql
|
||||
projects/gamilit/apps/database/seeds/prod/educational_content/12-taxonomies.sql
|
||||
projects/gamilit/apps/database/seeds/prod/gamification_system/10-mission_templates.sql
|
||||
projects/gamilit/apps/database/seeds/prod/social_features/00-schools-default.sql
|
||||
```
|
||||
|
||||
### 1.3 Archivos Eliminados (1)
|
||||
```
|
||||
projects/gamilit/apps/database/seeds/prod/auth_management/05-profiles-demo.sql
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. BACKEND (40 archivos)
|
||||
|
||||
### 2.1 Archivos Modificados (36)
|
||||
|
||||
#### Módulo Assignments
|
||||
```
|
||||
projects/gamilit/apps/backend/src/modules/assignments/assignments.module.ts
|
||||
projects/gamilit/apps/backend/src/modules/assignments/controllers/assignments.controller.ts
|
||||
projects/gamilit/apps/backend/src/modules/assignments/entities/assignment-exercise.entity.ts
|
||||
projects/gamilit/apps/backend/src/modules/assignments/entities/assignment-student.entity.ts
|
||||
projects/gamilit/apps/backend/src/modules/assignments/entities/assignment-submission.entity.ts
|
||||
projects/gamilit/apps/backend/src/modules/assignments/entities/assignment.entity.ts
|
||||
projects/gamilit/apps/backend/src/modules/assignments/services/assignments.service.ts
|
||||
```
|
||||
|
||||
#### Módulo Auth
|
||||
```
|
||||
projects/gamilit/apps/backend/src/modules/auth/entities/user.entity.ts
|
||||
```
|
||||
|
||||
#### Módulo Educational
|
||||
```
|
||||
projects/gamilit/apps/backend/src/modules/educational/controllers/exercises.controller.ts
|
||||
projects/gamilit/apps/backend/src/modules/educational/controllers/modules.controller.ts
|
||||
projects/gamilit/apps/backend/src/modules/educational/dto/exercises/submit-exercise.dto.ts
|
||||
projects/gamilit/apps/backend/src/modules/educational/dto/module4/index.ts
|
||||
projects/gamilit/apps/backend/src/modules/educational/dto/module5/index.ts
|
||||
```
|
||||
|
||||
#### Módulo Gamification
|
||||
```
|
||||
projects/gamilit/apps/backend/src/modules/gamification/dto/shop/create-purchase.dto.ts
|
||||
projects/gamilit/apps/backend/src/modules/gamification/entities/user-purchase.entity.ts
|
||||
projects/gamilit/apps/backend/src/modules/gamification/entities/user-stats.entity.ts
|
||||
projects/gamilit/apps/backend/src/modules/gamification/services/achievements.service.ts
|
||||
projects/gamilit/apps/backend/src/modules/gamification/services/shop.service.ts
|
||||
projects/gamilit/apps/backend/src/modules/gamification/services/user-stats.service.ts
|
||||
```
|
||||
|
||||
#### Módulo Progress
|
||||
```
|
||||
projects/gamilit/apps/backend/src/modules/progress/dto/answers/exercise-answer.validator.ts
|
||||
projects/gamilit/apps/backend/src/modules/progress/services/exercise-attempt.service.ts
|
||||
projects/gamilit/apps/backend/src/modules/progress/services/exercise-submission.service.ts
|
||||
```
|
||||
|
||||
#### Módulo Teacher
|
||||
```
|
||||
projects/gamilit/apps/backend/src/modules/teacher/controllers/manual-review.controller.ts
|
||||
projects/gamilit/apps/backend/src/modules/teacher/services/analytics.service.ts
|
||||
projects/gamilit/apps/backend/src/modules/teacher/services/bonus-coins.service.ts
|
||||
projects/gamilit/apps/backend/src/modules/teacher/services/exercise-responses.service.ts
|
||||
projects/gamilit/apps/backend/src/modules/teacher/services/student-progress.service.ts
|
||||
projects/gamilit/apps/backend/src/modules/teacher/services/teacher-classrooms-crud.service.ts
|
||||
projects/gamilit/apps/backend/src/modules/teacher/services/teacher-content.service.ts
|
||||
projects/gamilit/apps/backend/src/modules/teacher/teacher.module.ts
|
||||
```
|
||||
|
||||
#### Módulo Admin y Health
|
||||
```
|
||||
projects/gamilit/apps/backend/src/modules/admin/admin.module.ts
|
||||
projects/gamilit/apps/backend/src/modules/health/health.service.ts
|
||||
```
|
||||
|
||||
#### Shared
|
||||
```
|
||||
projects/gamilit/apps/backend/src/shared/constants/database.constants.ts
|
||||
projects/gamilit/apps/backend/src/shared/constants/enums.constants.ts
|
||||
```
|
||||
|
||||
#### Raíz
|
||||
```
|
||||
projects/gamilit/apps/backend/README.md
|
||||
projects/gamilit/apps/backend/src/app.module.ts
|
||||
```
|
||||
|
||||
### 2.2 Archivos Nuevos (2)
|
||||
```
|
||||
projects/gamilit/apps/backend/src/modules/educational/dto/module5/comic-digital-answer.dto.ts
|
||||
projects/gamilit/apps/backend/src/modules/educational/dto/module5/diario-multimedia-answer.dto.ts
|
||||
```
|
||||
|
||||
### 2.3 Archivos Eliminados (2)
|
||||
```
|
||||
projects/gamilit/apps/backend/src/modules/educational/dto/module5/diario-reflexivo-answer.dto.ts
|
||||
projects/gamilit/apps/backend/src/modules/educational/dto/module5/podcast-answer.dto.ts
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. FRONTEND (105 archivos)
|
||||
|
||||
### 3.1 Archivos Modificados (83)
|
||||
|
||||
#### App Root
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/App.tsx
|
||||
projects/gamilit/apps/frontend/tailwind.config.js
|
||||
```
|
||||
|
||||
#### Admin Portal
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/apps/admin/components/alerts/AlertCard.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/admin/components/monitoring/AlertasTab.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/admin/hooks/index.ts
|
||||
projects/gamilit/apps/frontend/src/apps/admin/hooks/useGamificationConfig.ts
|
||||
projects/gamilit/apps/frontend/src/apps/admin/pages/AdminAlertsPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/admin/pages/AdminAssignmentsPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/admin/pages/AdminClassroomTeacherPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/admin/pages/AdminGamificationPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/admin/pages/AdminInstitutionsPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/admin/pages/AdminProgressPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/admin/pages/AdminUsersPage.tsx
|
||||
```
|
||||
|
||||
#### Student Portal
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/apps/student/components/gamification/AchievementsPreview.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/student/hooks/useDashboardData.ts
|
||||
projects/gamilit/apps/frontend/src/apps/student/pages/AchievementsPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/student/pages/ExercisePage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/student/pages/ModuleDetailPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/student/pages/ShopPage.tsx
|
||||
```
|
||||
|
||||
#### Teacher Portal
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/components/monitoring/StudentDetailModal.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/components/monitoring/StudentMonitoringPanel.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/components/monitoring/StudentStatusCard.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/components/responses/ResponseDetailModal.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/components/responses/ResponseFilters.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/components/responses/ResponsesTable.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/hooks/useAssignments.ts
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/hooks/useClassrooms.ts
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/hooks/useStudentMonitoring.ts
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherAlertsPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherAnalyticsPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherAssignments.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherAssignmentsPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherContentPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherDashboard.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherExerciseResponsesPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherGamificationPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherMonitoringPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherProgressPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherReportsPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherResourcesPage.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/pages/TeacherStudents.tsx
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/types/index.ts
|
||||
```
|
||||
|
||||
#### Features - Gamification
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/features/gamification/economy/components/Shop/ShopItem.tsx
|
||||
projects/gamilit/apps/frontend/src/features/gamification/ranks/api/ranksAPI.ts
|
||||
projects/gamilit/apps/frontend/src/features/gamification/ranks/components/RankComparison.tsx
|
||||
projects/gamilit/apps/frontend/src/features/gamification/ranks/components/RankProgressBar.tsx
|
||||
projects/gamilit/apps/frontend/src/features/gamification/ranks/components/RankUpModal.tsx
|
||||
projects/gamilit/apps/frontend/src/features/gamification/ranks/hooks/useRank.ts
|
||||
projects/gamilit/apps/frontend/src/features/gamification/social/api/achievementsAPI.ts
|
||||
projects/gamilit/apps/frontend/src/features/gamification/social/components/Achievements/AchievementCard.tsx
|
||||
projects/gamilit/apps/frontend/src/features/gamification/social/components/Achievements/ProgressTreeVisualizer.tsx
|
||||
projects/gamilit/apps/frontend/src/features/gamification/social/store/achievementsStore.ts
|
||||
projects/gamilit/apps/frontend/src/features/gamification/social/types/achievementsTypes.ts
|
||||
```
|
||||
|
||||
#### Features - Mechanics Module 1-2
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module1/Crucigrama/CrucigramaExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module2/DetectiveTextual/DetectiveTextualExercise.tsx
|
||||
```
|
||||
|
||||
#### Features - Mechanics Module 4
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/AnalisisMemes/AnalisisMemesExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/InfografiaInteractiva/InfografiaInteractivaExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/NavegacionHipertextual/NavegacionHipertextualExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/NavegacionHipertextual/navegacionHipertextualTypes.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/QuizTikTok/QuizTikTokExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/VerificadorFakeNews/VerificadorFakeNewsExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/VerificadorFakeNews/verificadorFakeNewsTypes.ts
|
||||
```
|
||||
|
||||
#### Features - Mechanics Module 5
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module5/ComicDigital/ComicDigitalExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module5/DiarioMultimedia/DiarioMultimediaExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module5/VideoCarta/VideoCartaExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/shared/hooks/useExerciseSubmission.ts
|
||||
```
|
||||
|
||||
#### Features - Auth/Exercises
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/features/auth/types/auth.types.ts
|
||||
projects/gamilit/apps/frontend/src/features/exercises/hooks/useExerciseSubmission.ts
|
||||
```
|
||||
|
||||
#### Config/Services
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/config/api.config.ts
|
||||
projects/gamilit/apps/frontend/src/services/api/admin/gamificationConfigApi.ts
|
||||
projects/gamilit/apps/frontend/src/services/api/adminAPI.ts
|
||||
projects/gamilit/apps/frontend/src/services/api/adminTypes.ts
|
||||
projects/gamilit/apps/frontend/src/services/api/apiClient.ts
|
||||
projects/gamilit/apps/frontend/src/services/api/teacher/assignmentsApi.ts
|
||||
projects/gamilit/apps/frontend/src/services/api/teacher/classroomsApi.ts
|
||||
```
|
||||
|
||||
#### Shared
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/shared/components/AvatarUpload.README.md
|
||||
projects/gamilit/apps/frontend/src/shared/components/layout/GamilitSidebar.tsx
|
||||
projects/gamilit/apps/frontend/src/shared/components/mechanics/ExerciseContentRenderer.tsx
|
||||
projects/gamilit/apps/frontend/src/shared/hooks/useInvalidateDashboard.ts
|
||||
projects/gamilit/apps/frontend/src/shared/hooks/useModules.ts
|
||||
projects/gamilit/apps/frontend/src/shared/types/achievement.types.ts
|
||||
projects/gamilit/apps/frontend/src/shared/utils/exerciseAdapter.ts
|
||||
```
|
||||
|
||||
#### Pages
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/pages/ModuleDetailsPage.tsx
|
||||
```
|
||||
|
||||
### 3.2 Archivos Nuevos (14)
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/apps/admin/components/alerts/alertUtils.ts
|
||||
projects/gamilit/apps/frontend/src/apps/admin/hooks/useClassroomsList.ts
|
||||
projects/gamilit/apps/frontend/src/apps/teacher/components/monitoring/StudentPagination.tsx
|
||||
projects/gamilit/apps/frontend/src/features/gamification/ranks/hooks/useRanksConfig.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module5/ComicDigital/comicDigitalMockData.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module5/ComicDigital/comicDigitalSchemas.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module5/ComicDigital/comicDigitalTypes.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module5/DiarioMultimedia/diarioMultimediaMockData.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module5/DiarioMultimedia/diarioMultimediaSchemas.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module5/DiarioMultimedia/diarioMultimediaTypes.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module5/VideoCarta/videoCartaMockData.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module5/VideoCarta/videoCartaSchemas.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module5/VideoCarta/videoCartaTypes.ts
|
||||
projects/gamilit/apps/frontend/src/features/progress/hooks/
|
||||
```
|
||||
|
||||
### 3.3 Archivos Eliminados (8)
|
||||
```
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/ChatLiterario/ChatLiterarioExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/ChatLiterario/chatLiterarioTypes.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/EmailFormal/EmailFormalExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/EmailFormal/emailFormalTypes.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/EnsayoArgumentativo/EnsayoArgumentativoExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/EnsayoArgumentativo/ensayoArgumentativoTypes.ts
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/ResenaCritica/ResenaCriticaExercise.tsx
|
||||
projects/gamilit/apps/frontend/src/features/mechanics/module4/ResenaCritica/resenaCriticaTypes.ts
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. DOCS (117 archivos)
|
||||
|
||||
### 4.1 Archivos Modificados (58)
|
||||
(Ver lista completa en git status - documentación técnica y guías)
|
||||
|
||||
### 4.2 Archivos Nuevos (6)
|
||||
- Guías de pruebas para Módulo 4 y 5
|
||||
- Directivas de documentación
|
||||
- Ejercicios preguntas-respuestas
|
||||
- Arquitectura de autenticación
|
||||
- Incidencias de usuario
|
||||
|
||||
### 4.3 Archivos Eliminados (53)
|
||||
Principalmente archivos históricos de 2025-11:
|
||||
- Reportes de implementación obsoletos
|
||||
- Gaps cerrados
|
||||
- Correcciones completadas
|
||||
|
||||
---
|
||||
|
||||
## 5. ORCHESTRATION (61 archivos)
|
||||
|
||||
### 5.1 Archivos Modificados (20)
|
||||
- Inventarios actualizados
|
||||
- Reportes de ciclos
|
||||
- Guidelines de proyecto
|
||||
|
||||
### 5.2 Archivos Nuevos (41)
|
||||
- Nuevos reportes de coherencia
|
||||
- Análisis de integración
|
||||
- Planes de corrección
|
||||
- Auditorías por agente
|
||||
|
||||
---
|
||||
|
||||
## 6. OTROS (2 archivos)
|
||||
|
||||
```
|
||||
projects/gamilit/CHANGELOG.md
|
||||
projects/gamilit/IMPLEMENTATION-SETTINGS-003.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## NOTAS IMPORTANTES
|
||||
|
||||
### Dependencias Críticas Identificadas
|
||||
1. **DTOs Module5:** Eliminados `diario-reflexivo` y `podcast`, reemplazados por `comic-digital` y `diario-multimedia`
|
||||
2. **Mechanics Module4:** Eliminadas 4 mecánicas completas (ChatLiterario, EmailFormal, EnsayoArgumentativo, ResenaCritica)
|
||||
3. **Seeds Prod:** Cambios en perfiles y usuarios de producción
|
||||
|
||||
### Orden de Sincronización Recomendado
|
||||
1. Database DDL (funciones, triggers, RLS)
|
||||
2. Database Seeds (dev, staging, prod)
|
||||
3. Backend (entities, DTOs, services, controllers)
|
||||
4. Frontend (types, services, components, pages)
|
||||
5. Docs y Orchestration
|
||||
|
||||
---
|
||||
|
||||
**Generado por:** Requirements-Analyst Agent
|
||||
**Fecha:** 2025-12-18
|
||||
@ -0,0 +1,284 @@
|
||||
# PLAN DE MIGRACIÓN DETALLADO - GAMILIT
|
||||
|
||||
**Fecha:** 2025-12-18
|
||||
**Versión:** 1.0.0
|
||||
**Estado:** FASE 1 - ANÁLISIS EN PROGRESO
|
||||
**Analista:** Requirements-Analyst Agent
|
||||
|
||||
---
|
||||
|
||||
## 1. RESUMEN EJECUTIVO
|
||||
|
||||
### 1.1 Objetivo
|
||||
Sincronizar todos los cambios realizados en el proyecto gamilit desde el repositorio de desarrollo (`/home/isem/workspace/projects/gamilit`) hacia el repositorio de producción (`/home/isem/workspace-old/wsl-ubuntu/workspace/workspace-gamilit/gamilit/projects/gamilit`).
|
||||
|
||||
### 1.2 Alcance
|
||||
- **Total archivos a procesar:** 393 cambios
|
||||
- **Archivos modificados (M):** 213
|
||||
- **Archivos nuevos (??):** 97
|
||||
- **Archivos eliminados (D):** 83
|
||||
|
||||
### 1.3 Repositorios
|
||||
|
||||
| Repositorio | Ruta | Cambios Pendientes | Rol |
|
||||
|-------------|------|-------------------|-----|
|
||||
| **ORIGEN (Desarrollo)** | `/home/isem/workspace/projects/gamilit` | 393 | Fuente de verdad |
|
||||
| **DESTINO (Producción)** | `/home/isem/workspace-old/.../gamilit/projects/gamilit` | 151 | Receptor |
|
||||
|
||||
---
|
||||
|
||||
## 2. CLASIFICACIÓN DE CAMBIOS POR ÁREA
|
||||
|
||||
### 2.1 Desglose por Aplicación
|
||||
|
||||
| Área | Archivos | Porcentaje | Prioridad |
|
||||
|------|----------|------------|-----------|
|
||||
| **Docs** | 117 | 29.8% | P3 |
|
||||
| **Frontend** | 105 | 26.7% | P1 |
|
||||
| **Database** | 70 | 17.8% | P0 (Crítico) |
|
||||
| **Orchestration** | 59 | 15.0% | P3 |
|
||||
| **Backend** | 40 | 10.2% | P1 |
|
||||
| **Otros** | 2 | 0.5% | P2 |
|
||||
|
||||
### 2.2 Desglose por Tipo de Cambio
|
||||
|
||||
| Estado | Cantidad | Acción Requerida |
|
||||
|--------|----------|------------------|
|
||||
| Modificados (M) | 213 | Copiar/Sobrescribir |
|
||||
| Nuevos (??) | 97 | Copiar |
|
||||
| Eliminados (D) | 83 | Eliminar en destino |
|
||||
|
||||
---
|
||||
|
||||
## 3. ANÁLISIS DETALLADO POR ÁREA
|
||||
|
||||
### 3.1 DATABASE (70 archivos) - PRIORIDAD CRÍTICA
|
||||
|
||||
#### 3.1.1 DDL (Schemas, Tables, Functions, Triggers)
|
||||
- Esquemas modificados: auth, educational_content, gamification_system, progress_tracking, public, storage
|
||||
- Nuevas políticas RLS
|
||||
- Nuevos triggers
|
||||
|
||||
#### 3.1.2 Seeds
|
||||
- Seeds de desarrollo (dev/) - Nuevos y modificados
|
||||
- Seeds de producción (prod/) - Críticos para el deploy
|
||||
- Seeds de staging - Modificados
|
||||
|
||||
#### 3.1.3 Archivos Críticos a Revisar
|
||||
```
|
||||
M apps/database/ddl/schemas/auth/tables/01-users.sql
|
||||
M apps/database/ddl/schemas/gamification_system/functions/*.sql
|
||||
M apps/database/seeds/prod/*.sql
|
||||
```
|
||||
|
||||
### 3.2 BACKEND (40 archivos) - PRIORIDAD ALTA
|
||||
|
||||
#### 3.2.1 Módulos Afectados
|
||||
- assignments
|
||||
- auth
|
||||
- educational
|
||||
- gamification
|
||||
- health
|
||||
- progress
|
||||
- teacher
|
||||
|
||||
#### 3.2.2 Tipos de Cambios
|
||||
- Entities modificadas
|
||||
- Services actualizados
|
||||
- Controllers con nuevos endpoints
|
||||
- DTOs nuevos y eliminados
|
||||
|
||||
#### 3.2.3 DTOs Eliminados (Requieren limpieza)
|
||||
```
|
||||
D apps/backend/src/modules/educational/dto/module5/diario-reflexivo-answer.dto.ts
|
||||
D apps/backend/src/modules/educational/dto/module5/podcast-answer.dto.ts
|
||||
```
|
||||
|
||||
#### 3.2.4 DTOs Nuevos
|
||||
```
|
||||
?? apps/backend/src/modules/educational/dto/module5/comic-digital-answer.dto.ts
|
||||
?? apps/backend/src/modules/educational/dto/module5/diario-multimedia-answer.dto.ts
|
||||
```
|
||||
|
||||
### 3.3 FRONTEND (105 archivos) - PRIORIDAD ALTA
|
||||
|
||||
#### 3.3.1 Áreas Afectadas
|
||||
- Admin portal (apps/admin/)
|
||||
- Student portal (apps/student/)
|
||||
- Teacher portal (apps/teacher/)
|
||||
- Features de gamificación
|
||||
- Features de mecánicas educativas
|
||||
- Servicios API
|
||||
|
||||
#### 3.3.2 Componentes Eliminados (Module4)
|
||||
```
|
||||
D apps/frontend/src/features/mechanics/module4/ChatLiterario/
|
||||
D apps/frontend/src/features/mechanics/module4/EmailFormal/
|
||||
D apps/frontend/src/features/mechanics/module4/EnsayoArgumentativo/
|
||||
D apps/frontend/src/features/mechanics/module4/ResenaCritica/
|
||||
```
|
||||
|
||||
#### 3.3.3 Componentes Nuevos (Module5)
|
||||
```
|
||||
?? apps/frontend/src/features/mechanics/module5/ComicDigital/
|
||||
?? apps/frontend/src/features/mechanics/module5/DiarioMultimedia/
|
||||
?? apps/frontend/src/features/mechanics/module5/VideoCarta/
|
||||
```
|
||||
|
||||
### 3.4 DOCS (117 archivos) - PRIORIDAD BAJA
|
||||
|
||||
#### 3.4.1 Documentación a Purgar
|
||||
- 83 archivos históricos (2025-11)
|
||||
- Reportes de implementación obsoletos
|
||||
- Gaps cerrados
|
||||
|
||||
#### 3.4.2 Documentación a Mantener
|
||||
- Guías de desarrollo
|
||||
- Especificaciones técnicas actualizadas
|
||||
- Quick reference
|
||||
|
||||
### 3.5 ORCHESTRATION (59 archivos) - PRIORIDAD BAJA
|
||||
|
||||
#### 3.5.1 Inventarios
|
||||
- MASTER_INVENTORY.yml
|
||||
- DATABASE_INVENTORY.yml
|
||||
- BACKEND_INVENTORY.yml
|
||||
- FRONTEND_INVENTORY.yml
|
||||
- SEEDS_INVENTORY.yml
|
||||
|
||||
#### 3.5.2 Reportes
|
||||
- Nuevos reportes de corrección
|
||||
- Análisis de coherencia
|
||||
- Planes de implementación
|
||||
|
||||
---
|
||||
|
||||
## 4. FASES DE EJECUCIÓN
|
||||
|
||||
### FASE 1: ANÁLISIS (ACTUAL)
|
||||
**Estado:** EN PROGRESO
|
||||
**Objetivo:** Documentar todos los cambios con detalle
|
||||
|
||||
#### Subtareas:
|
||||
- [x] Clasificar cambios por tipo (M, D, ??)
|
||||
- [x] Clasificar por área (backend, frontend, database, docs, orchestration)
|
||||
- [x] Identificar archivos críticos
|
||||
- [ ] Generar inventario detallado por archivo
|
||||
- [ ] Documentar dependencias
|
||||
|
||||
### FASE 2: EJECUCIÓN DEL ANÁLISIS
|
||||
**Estado:** PENDIENTE
|
||||
**Objetivo:** Análisis profundo de cada archivo
|
||||
|
||||
#### Subtareas:
|
||||
- [ ] Analizar cada archivo modificado en backend
|
||||
- [ ] Analizar cada archivo modificado en frontend
|
||||
- [ ] Analizar cada archivo modificado en database
|
||||
- [ ] Verificar integridad de relaciones
|
||||
- [ ] Documentar impactos
|
||||
|
||||
### FASE 3: PLANEACIÓN DE IMPLEMENTACIÓN
|
||||
**Estado:** PENDIENTE
|
||||
**Objetivo:** Plan detallado de sincronización
|
||||
|
||||
#### Subtareas:
|
||||
- [ ] Ordenar por dependencias
|
||||
- [ ] Definir orden de ejecución
|
||||
- [ ] Crear scripts de sincronización
|
||||
- [ ] Definir rollback plan
|
||||
|
||||
### FASE 4: VALIDACIÓN
|
||||
**Estado:** PENDIENTE
|
||||
**Objetivo:** Verificar completitud y dependencias
|
||||
|
||||
#### Subtareas:
|
||||
- [ ] Validar que todas las dependencias están incluidas
|
||||
- [ ] Verificar que no hay imports rotos
|
||||
- [ ] Validar coherencia de tipos
|
||||
- [ ] Validar que seeds están completos
|
||||
|
||||
### FASE 5: EJECUCIÓN
|
||||
**Estado:** PENDIENTE
|
||||
**Objetivo:** Ejecutar la sincronización
|
||||
|
||||
#### Subtareas:
|
||||
- [ ] Backup del destino
|
||||
- [ ] Sincronizar Database
|
||||
- [ ] Sincronizar Backend
|
||||
- [ ] Sincronizar Frontend
|
||||
- [ ] Sincronizar Docs/Orchestration
|
||||
- [ ] Validar post-migración
|
||||
|
||||
---
|
||||
|
||||
## 5. ORDEN DE SINCRONIZACIÓN PROPUESTO
|
||||
|
||||
```
|
||||
1. DATABASE (P0 - Crítico)
|
||||
└── DDL primero (schemas, tables, functions, triggers)
|
||||
└── Seeds después
|
||||
|
||||
2. BACKEND (P1 - Alto)
|
||||
└── Entities primero
|
||||
└── DTOs
|
||||
└── Services
|
||||
└── Controllers
|
||||
└── Módulos
|
||||
|
||||
3. FRONTEND (P1 - Alto)
|
||||
└── Types primero
|
||||
└── Services/API
|
||||
└── Stores
|
||||
└── Hooks
|
||||
└── Components
|
||||
└── Pages
|
||||
|
||||
4. DOCS (P3 - Bajo)
|
||||
└── Purgar archivos obsoletos
|
||||
└── Actualizar documentación vigente
|
||||
|
||||
5. ORCHESTRATION (P3 - Bajo)
|
||||
└── Inventarios
|
||||
└── Reportes
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. RIESGOS IDENTIFICADOS
|
||||
|
||||
| Riesgo | Probabilidad | Impacto | Mitigación |
|
||||
|--------|--------------|---------|------------|
|
||||
| Conflictos en archivos | Media | Alto | Análisis diff previo |
|
||||
| Dependencias rotas | Media | Alto | Validación de imports |
|
||||
| Seeds inconsistentes | Alta | Crítico | Verificación manual |
|
||||
| Cambios en destino perdidos | Media | Alto | Backup previo |
|
||||
| Tipos incompatibles | Baja | Medio | TypeScript check |
|
||||
|
||||
---
|
||||
|
||||
## 7. PRÓXIMOS PASOS
|
||||
|
||||
1. **Completar inventario detallado** de los 393 archivos
|
||||
2. **Analizar el estado del destino** (151 cambios pendientes)
|
||||
3. **Identificar conflictos potenciales** entre origen y destino
|
||||
4. **Generar scripts de sincronización** automatizada
|
||||
5. **Crear plan de validación** post-migración
|
||||
|
||||
---
|
||||
|
||||
## 8. ANEXOS
|
||||
|
||||
### 8.1 Archivos Temporales Generados
|
||||
- `/tmp/gamilit_changes.txt` - Lista completa de cambios
|
||||
- `/tmp/gamilit_backend.txt` - Cambios en backend
|
||||
- `/tmp/gamilit_frontend.txt` - Cambios en frontend
|
||||
- `/tmp/gamilit_database.txt` - Cambios en database
|
||||
- `/tmp/gamilit_docs.txt` - Cambios en documentación
|
||||
- `/tmp/gamilit_orchestration.txt` - Cambios en orchestration
|
||||
- `/tmp/gamilit_deleted.txt` - Archivos a eliminar
|
||||
- `/tmp/gamilit_new.txt` - Archivos nuevos
|
||||
|
||||
---
|
||||
|
||||
**Última actualización:** 2025-12-18
|
||||
**Autor:** Requirements-Analyst Agent
|
||||
@ -0,0 +1,113 @@
|
||||
# RESUMEN EJECUTIVO - MIGRACIÓN GAMILIT A PRODUCCIÓN
|
||||
|
||||
**Fecha:** 2025-12-18
|
||||
**Versión:** 1.0.0
|
||||
**Estado:** LISTO PARA EJECUCIÓN
|
||||
|
||||
---
|
||||
|
||||
## 1. SITUACIÓN ACTUAL
|
||||
|
||||
### Repositorios
|
||||
| Repositorio | Ruta | Cambios | Rol |
|
||||
|-------------|------|---------|-----|
|
||||
| **ORIGEN** | `/home/isem/workspace/projects/gamilit` | 395 | Fuente de verdad |
|
||||
| **DESTINO** | `/home/isem/workspace-old/.../gamilit/projects/gamilit` | 151 | Receptor |
|
||||
|
||||
### Conflictos Identificados
|
||||
- **43 archivos** modificados en ambos repositorios
|
||||
- **Resolución:** ORIGEN sobrescribe DESTINO
|
||||
|
||||
---
|
||||
|
||||
## 2. RESUMEN DE CAMBIOS
|
||||
|
||||
### Por Área
|
||||
| Área | Modificados | Nuevos | Eliminados | Total |
|
||||
|------|-------------|--------|------------|-------|
|
||||
| Frontend | 83 | 14 | 8 | 105 |
|
||||
| Docs | 58 | 6 | 53 | 117 |
|
||||
| Database | 35 | 34 | 1 | 70 |
|
||||
| Orchestration | 20 | 41 | 0 | 61 |
|
||||
| Backend | 36 | 2 | 2 | 40 |
|
||||
| **TOTAL** | **232** | **97** | **64** | **395** |
|
||||
|
||||
### Cambios Críticos
|
||||
1. **Module 4:** Eliminadas 4 mecánicas (ChatLiterario, EmailFormal, EnsayoArgumentativo, ResenaCritica)
|
||||
2. **Module 5:** Nuevos DTOs (comic-digital, diario-multimedia) reemplazan a eliminados
|
||||
3. **Seeds Prod:** Actualizados perfiles y usuarios de producción
|
||||
4. **Gamification:** Nuevas funciones de rangos y leaderboards
|
||||
|
||||
---
|
||||
|
||||
## 3. CORRECCIONES APLICADAS
|
||||
|
||||
| Archivo | Corrección |
|
||||
|---------|------------|
|
||||
| `apps/frontend/src/features/mechanics/index.ts` | Eliminados exports de componentes inexistentes |
|
||||
|
||||
---
|
||||
|
||||
## 4. VALIDACIONES COMPLETADAS
|
||||
|
||||
- ✅ No hay imports a archivos eliminados
|
||||
- ✅ Nuevos DTOs correctamente exportados
|
||||
- ✅ Coherencia entre backend y frontend types
|
||||
- ✅ Nuevos hooks creados y exportados
|
||||
|
||||
---
|
||||
|
||||
## 5. ARTEFACTOS GENERADOS
|
||||
|
||||
| Documento | Ruta |
|
||||
|-----------|------|
|
||||
| Plan de Migración | `PLAN-MIGRACION-DETALLADO.md` |
|
||||
| Inventario Completo | `INVENTARIO-COMPLETO.md` |
|
||||
| Análisis de Conflictos | `ANALISIS-CONFLICTOS.md` |
|
||||
| Checklist de Validación | `CHECKLIST-VALIDACION.md` |
|
||||
| Correcciones Realizadas | `CORRECCIONES-REALIZADAS.md` |
|
||||
| Script de Sincronización | `scripts/sync-to-prod.sh` |
|
||||
|
||||
---
|
||||
|
||||
## 6. PRÓXIMOS PASOS
|
||||
|
||||
### Opción A: Sincronización Automatizada
|
||||
```bash
|
||||
cd /home/isem/workspace/projects/gamilit/orchestration/reportes/migracion-prod-2025-12/scripts
|
||||
./sync-to-prod.sh
|
||||
```
|
||||
|
||||
### Opción B: Sincronización Manual
|
||||
1. Backup del destino
|
||||
2. Copiar archivos con rsync
|
||||
3. Eliminar archivos obsoletos
|
||||
4. Verificar builds
|
||||
5. Commit y push
|
||||
|
||||
---
|
||||
|
||||
## 7. RIESGOS
|
||||
|
||||
| Riesgo | Mitigación |
|
||||
|--------|------------|
|
||||
| Pérdida de cambios en destino | Backup con git stash |
|
||||
| Imports rotos | Ya corregidos en FASE 4 |
|
||||
| Seeds desincronizados | Verificar orden de ejecución |
|
||||
|
||||
---
|
||||
|
||||
## 8. TIEMPO ESTIMADO
|
||||
|
||||
| Actividad | Duración |
|
||||
|-----------|----------|
|
||||
| Sincronización | 5-10 min |
|
||||
| Verificación builds | 5-10 min |
|
||||
| Commit y push | 2-5 min |
|
||||
| **TOTAL** | **~20-25 min** |
|
||||
|
||||
---
|
||||
|
||||
**Analista:** Requirements-Analyst Agent
|
||||
**Fecha:** 2025-12-18
|
||||
**Estado Final:** APROBADO PARA EJECUCIÓN
|
||||
@ -0,0 +1,162 @@
|
||||
On branch master
|
||||
Your branch is up to date with 'origin/master'.
|
||||
|
||||
Changes not staged for commit:
|
||||
(use "git add <file>..." to update what will be committed)
|
||||
(use "git restore <file>..." to discard changes in working directory)
|
||||
modified: apps/backend/.gitignore
|
||||
modified: apps/backend/package.json
|
||||
modified: apps/backend/src/modules/educational/educational.module.ts
|
||||
modified: apps/backend/src/modules/educational/entities/index.ts
|
||||
modified: apps/backend/src/modules/educational/services/exercises.service.ts
|
||||
modified: apps/backend/src/modules/gamification/controllers/index.ts
|
||||
modified: apps/backend/src/modules/gamification/dto/ml-coins/transaction-response.dto.ts
|
||||
modified: apps/backend/src/modules/gamification/entities/index.ts
|
||||
modified: apps/backend/src/modules/gamification/entities/maya-rank.entity.ts
|
||||
modified: apps/backend/src/modules/gamification/gamification.module.ts
|
||||
modified: apps/backend/src/modules/gamification/services/index.ts
|
||||
modified: apps/backend/src/modules/gamification/services/ml-coins.service.ts
|
||||
modified: apps/backend/src/modules/gamification/services/ranks.service.ts
|
||||
modified: apps/backend/src/modules/notifications/controllers/notification-devices.controller.ts
|
||||
modified: apps/backend/src/modules/notifications/notifications.module.ts
|
||||
modified: apps/backend/src/modules/notifications/services/notification-queue.service.ts
|
||||
modified: apps/backend/src/modules/notifications/services/notification.service.ts
|
||||
modified: apps/backend/src/modules/progress/entities/index.ts
|
||||
modified: apps/backend/src/modules/progress/services/exercise-attempt.service.ts
|
||||
modified: apps/backend/src/modules/teacher/services/index.ts
|
||||
modified: apps/backend/src/modules/teacher/teacher.module.ts
|
||||
modified: apps/backend/src/shared/constants/database.constants.ts
|
||||
modified: apps/backend/src/shared/constants/enums.constants.ts
|
||||
modified: apps/database/create-database.sh
|
||||
modified: apps/database/ddl/00-prerequisites.sql
|
||||
modified: apps/database/seeds/prod/gamification_system/03-maya_ranks.sql
|
||||
modified: apps/database/seeds/prod/gamification_system/04-achievements.sql
|
||||
modified: apps/frontend/.env.example
|
||||
modified: apps/frontend/package.json
|
||||
modified: apps/frontend/src/App.tsx
|
||||
modified: apps/frontend/src/apps/admin/pages/AdminProgressPage.tsx
|
||||
modified: apps/frontend/src/apps/student/pages/DeviceManagementSection.tsx
|
||||
modified: apps/frontend/src/apps/student/pages/ShopPage.tsx
|
||||
modified: apps/frontend/src/apps/teacher/components/responses/ResponseDetailModal.tsx
|
||||
modified: apps/frontend/src/apps/teacher/components/responses/ResponsesTable.tsx
|
||||
modified: apps/frontend/src/apps/teacher/pages/TeacherAlertsPage.tsx
|
||||
modified: apps/frontend/src/apps/teacher/pages/TeacherAnalyticsPage.tsx
|
||||
modified: apps/frontend/src/apps/teacher/pages/TeacherAssignmentsPage.tsx
|
||||
modified: apps/frontend/src/apps/teacher/pages/TeacherCommunicationPage.tsx
|
||||
modified: apps/frontend/src/apps/teacher/pages/TeacherContentPage.tsx
|
||||
modified: apps/frontend/src/apps/teacher/pages/TeacherDashboardPage.tsx
|
||||
modified: apps/frontend/src/apps/teacher/pages/TeacherExerciseResponsesPage.tsx
|
||||
modified: apps/frontend/src/apps/teacher/pages/TeacherGamificationPage.tsx
|
||||
modified: apps/frontend/src/apps/teacher/pages/TeacherMonitoringPage.tsx
|
||||
modified: apps/frontend/src/apps/teacher/pages/TeacherProgressPage.tsx
|
||||
modified: apps/frontend/src/apps/teacher/pages/TeacherReportsPage.tsx
|
||||
modified: apps/frontend/src/apps/teacher/pages/TeacherResourcesPage.tsx
|
||||
modified: apps/frontend/src/config/api.config.ts
|
||||
modified: apps/frontend/src/features/gamification/economy/types/economyTypes.ts
|
||||
modified: apps/frontend/src/features/gamification/ranks/store/ranksStore.ts
|
||||
modified: apps/frontend/src/features/gamification/social/api/socialAPI.ts
|
||||
modified: apps/frontend/src/features/gamification/social/store/leaderboardsStore.ts
|
||||
modified: apps/frontend/src/features/mechanics/index.ts
|
||||
modified: apps/frontend/src/features/mechanics/module1/CompletarEspacios/CompletarEspaciosExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module1/Crucigrama/CrucigramaExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module1/MapaConceptual/MapaConceptualExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module1/SopaLetras/SopaLetrasExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module1/Timeline/TimelineExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module1/VerdaderoFalso/VerdaderoFalsoExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module2/ConstruccionHipotesis/CausaEfectoExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module2/DetectiveTextual/DetectiveTextualExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module2/LecturaInferencial/LecturaInferencialExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module2/PrediccionNarrativa/PrediccionNarrativaExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module2/PuzzleContexto/PuzzleContextoExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module2/RuedaInferencias/RuedaInferenciasExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module3/AnalisisFuentes/AnalisisFuentesExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module3/DebateDigital/DebateDigitalExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module3/MatrizPerspectivas/MatrizPerspectivasExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module3/PodcastArgumentativo/PodcastArgumentativoExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module3/TribunalOpiniones/TribunalOpinionesExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module4/AnalisisMemes/AnalisisMemesExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module4/InfografiaInteractiva/InfografiaInteractivaExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module4/NavegacionHipertextual/NavegacionHipertextualExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module4/QuizTikTok/QuizTikTokExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module4/VerificadorFakeNews/VerificadorFakeNewsExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module5/ComicDigital/ComicDigitalExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module5/DiarioMultimedia/DiarioMultimediaExercise.tsx
|
||||
modified: apps/frontend/src/features/mechanics/module5/VideoCarta/VideoCartaExercise.tsx
|
||||
modified: apps/frontend/src/features/notifications/components/NotificationDropdown.tsx
|
||||
modified: apps/frontend/src/services/api/notificationsAPI.ts
|
||||
modified: apps/frontend/src/shared/components/mechanics/index.ts
|
||||
modified: apps/frontend/src/shared/hooks/index.ts
|
||||
modified: apps/frontend/src/shared/hooks/useAudioRecorder.ts
|
||||
modified: docs/04-fase-backlog/README.md
|
||||
modified: docs/README.md
|
||||
modified: orchestration/inventarios/BACKEND_INVENTORY.yml
|
||||
modified: orchestration/inventarios/DATABASE_INVENTORY.yml
|
||||
modified: orchestration/inventarios/FRONTEND_INVENTORY.yml
|
||||
modified: orchestration/trazas/TRAZA-TAREAS-BACKEND.md
|
||||
modified: orchestration/trazas/TRAZA-TAREAS-DATABASE.md
|
||||
modified: orchestration/trazas/TRAZA-TAREAS-FRONTEND.md
|
||||
modified: package-lock.json
|
||||
modified: package.json
|
||||
|
||||
Untracked files:
|
||||
(use "git add <file>..." to include in what will be committed)
|
||||
apps/backend/docs/
|
||||
apps/backend/scripts/generate-vapid-keys.js
|
||||
apps/backend/src/modules/educational/controllers/media-upload.controller.ts
|
||||
apps/backend/src/modules/educational/dto/upload-media.dto.ts
|
||||
apps/backend/src/modules/educational/entities/media-attachment.entity.ts
|
||||
apps/backend/src/modules/educational/services/media-storage.service.ts
|
||||
apps/backend/src/modules/gamification/CHANGELOG-ML-COINS-MULTIPLIER.md
|
||||
apps/backend/src/modules/gamification/TEAM-MISSIONS-IMPLEMENTATION.md
|
||||
apps/backend/src/modules/gamification/controllers/shop.controller.ts
|
||||
apps/backend/src/modules/gamification/controllers/team-missions.controller.ts
|
||||
apps/backend/src/modules/gamification/dto/shop/
|
||||
apps/backend/src/modules/gamification/dto/team-missions/
|
||||
apps/backend/src/modules/gamification/entities/shop-category.entity.ts
|
||||
apps/backend/src/modules/gamification/entities/shop-item.entity.ts
|
||||
apps/backend/src/modules/gamification/entities/team-mission-contribution.entity.ts
|
||||
apps/backend/src/modules/gamification/entities/team-mission.entity.ts
|
||||
apps/backend/src/modules/gamification/entities/user-purchase.entity.ts
|
||||
apps/backend/src/modules/gamification/services/shop.service.ts
|
||||
apps/backend/src/modules/gamification/services/team-missions.service.ts
|
||||
apps/backend/src/modules/notifications/services/push-notification.service.ts
|
||||
apps/backend/src/modules/progress/entities/manual-review.entity.ts
|
||||
apps/backend/src/modules/teacher/controllers/manual-review.controller.ts
|
||||
apps/backend/src/modules/teacher/dto/create-review.dto.ts
|
||||
apps/backend/src/modules/teacher/services/manual-review.service.ts
|
||||
apps/backend/uploads/
|
||||
apps/database/ddl/schemas/educational_content/functions/23-validate_module4_module5.sql
|
||||
apps/database/ddl/schemas/educational_content/tables/09-media_attachments.sql
|
||||
apps/database/ddl/schemas/gamification_system/tables/17-shop_categories.sql
|
||||
apps/database/ddl/schemas/gamification_system/tables/18-shop_items.sql
|
||||
apps/database/ddl/schemas/gamification_system/tables/19-user_purchases.sql
|
||||
apps/database/ddl/schemas/gamification_system/tables/20-team_missions.sql
|
||||
apps/database/ddl/schemas/gamification_system/tables/21-team_mission_contributions.sql
|
||||
apps/database/ddl/schemas/progress_tracking/tables/06-manual_reviews.sql
|
||||
apps/database/migrations/
|
||||
apps/database/seeds/dev/educational_content/05-exercises-module4.sql
|
||||
apps/database/seeds/dev/educational_content/06-exercises-module5.sql
|
||||
apps/database/seeds/prod/gamification_system/12-shop_categories.sql
|
||||
apps/database/seeds/prod/gamification_system/13-shop_items.sql
|
||||
apps/frontend/FILES_CREATED.txt
|
||||
apps/frontend/FIREBASE_SETUP.md
|
||||
apps/frontend/IMPLEMENTATION_SUMMARY.md
|
||||
apps/frontend/INTEGRATION_GUIDE.md
|
||||
apps/frontend/public/
|
||||
apps/frontend/src/apps/teacher/pages/ReviewPanel/
|
||||
apps/frontend/src/config/firebase.ts
|
||||
apps/frontend/src/config/webpush.ts
|
||||
apps/frontend/src/features/gamification/economy/api/index.ts
|
||||
apps/frontend/src/features/gamification/economy/api/shopAPI.ts
|
||||
apps/frontend/src/features/notifications/hooks/usePushNotifications.ts
|
||||
apps/frontend/src/shared/api/
|
||||
apps/frontend/src/shared/components/mechanics/ExerciseContentRenderer.example.md
|
||||
apps/frontend/src/shared/components/mechanics/ExerciseContentRenderer.tsx
|
||||
apps/frontend/src/shared/components/mechanics/MediaUploader.tsx
|
||||
apps/frontend/src/shared/components/mechanics/RubricEvaluator.tsx
|
||||
apps/frontend/src/shared/hooks/useInvalidateDashboard.example.md
|
||||
apps/frontend/src/shared/hooks/useInvalidateDashboard.ts
|
||||
apps/frontend/src/shared/hooks/useVideoRecorder.ts
|
||||
orchestration/agentes/database/DB-VALIDATORS-M4M5/
|
||||
|
||||
no changes added to commit (use "git add" and/or "git commit -a")
|
||||
@ -0,0 +1,280 @@
|
||||
#!/bin/bash
|
||||
|
||||
# =============================================================================
|
||||
# SCRIPT DE SINCRONIZACIÓN GAMILIT - DESARROLLO A PRODUCCIÓN
|
||||
# =============================================================================
|
||||
# Fecha: 2025-12-18
|
||||
# Versión: 1.0.0
|
||||
# Descripción: Sincroniza cambios del repositorio de desarrollo al de producción
|
||||
# =============================================================================
|
||||
|
||||
set -e # Salir si hay error
|
||||
|
||||
# Colores para output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Rutas
|
||||
ORIGEN="/home/isem/workspace/projects/gamilit"
|
||||
DESTINO="/home/isem/workspace-old/wsl-ubuntu/workspace/workspace-gamilit/gamilit/projects/gamilit"
|
||||
BACKUP_DIR="/home/isem/workspace/projects/gamilit/orchestration/reportes/migracion-prod-2025-12/backups"
|
||||
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||
LOG_FILE="$BACKUP_DIR/sync_$TIMESTAMP.log"
|
||||
|
||||
# Funciones de utilidad
|
||||
log() {
|
||||
echo -e "${BLUE}[INFO]${NC} $1" | tee -a "$LOG_FILE"
|
||||
}
|
||||
|
||||
success() {
|
||||
echo -e "${GREEN}[SUCCESS]${NC} $1" | tee -a "$LOG_FILE"
|
||||
}
|
||||
|
||||
warn() {
|
||||
echo -e "${YELLOW}[WARN]${NC} $1" | tee -a "$LOG_FILE"
|
||||
}
|
||||
|
||||
error() {
|
||||
echo -e "${RED}[ERROR]${NC} $1" | tee -a "$LOG_FILE"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Verificar que existen los directorios
|
||||
check_directories() {
|
||||
log "Verificando directorios..."
|
||||
|
||||
if [ ! -d "$ORIGEN" ]; then
|
||||
error "Directorio origen no existe: $ORIGEN"
|
||||
fi
|
||||
|
||||
if [ ! -d "$DESTINO" ]; then
|
||||
error "Directorio destino no existe: $DESTINO"
|
||||
fi
|
||||
|
||||
success "Directorios verificados"
|
||||
}
|
||||
|
||||
# Crear directorio de backup
|
||||
create_backup_dir() {
|
||||
log "Creando directorio de backup..."
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
success "Directorio de backup creado: $BACKUP_DIR"
|
||||
}
|
||||
|
||||
# Hacer backup del destino
|
||||
backup_destino() {
|
||||
log "Creando backup del destino..."
|
||||
cd "$DESTINO"
|
||||
|
||||
# Verificar si hay cambios
|
||||
if [ -n "$(git status --porcelain)" ]; then
|
||||
git stash push -m "Backup antes de sincronización $TIMESTAMP"
|
||||
success "Cambios guardados en stash"
|
||||
else
|
||||
log "No hay cambios pendientes en destino"
|
||||
fi
|
||||
|
||||
# Crear copia de seguridad de archivos críticos
|
||||
mkdir -p "$BACKUP_DIR/$TIMESTAMP"
|
||||
cp -r apps/database/seeds "$BACKUP_DIR/$TIMESTAMP/seeds_backup" 2>/dev/null || true
|
||||
cp -r apps/backend/src/modules "$BACKUP_DIR/$TIMESTAMP/modules_backup" 2>/dev/null || true
|
||||
|
||||
success "Backup completado en $BACKUP_DIR/$TIMESTAMP"
|
||||
}
|
||||
|
||||
# Sincronizar archivos de DATABASE
|
||||
sync_database() {
|
||||
log "Sincronizando DATABASE..."
|
||||
|
||||
# DDL
|
||||
rsync -av --delete \
|
||||
--exclude='*.bak' \
|
||||
"$ORIGEN/apps/database/ddl/" \
|
||||
"$DESTINO/apps/database/ddl/" | tee -a "$LOG_FILE"
|
||||
|
||||
# Seeds
|
||||
rsync -av --delete \
|
||||
--exclude='*.bak' \
|
||||
"$ORIGEN/apps/database/seeds/" \
|
||||
"$DESTINO/apps/database/seeds/" | tee -a "$LOG_FILE"
|
||||
|
||||
# Scripts
|
||||
cp "$ORIGEN/apps/database/create-database.sh" "$DESTINO/apps/database/"
|
||||
cp "$ORIGEN/apps/database/README.md" "$DESTINO/apps/database/"
|
||||
|
||||
success "DATABASE sincronizado"
|
||||
}
|
||||
|
||||
# Sincronizar archivos de BACKEND
|
||||
sync_backend() {
|
||||
log "Sincronizando BACKEND..."
|
||||
|
||||
# Módulos
|
||||
rsync -av --delete \
|
||||
--exclude='node_modules' \
|
||||
--exclude='dist' \
|
||||
--exclude='*.bak' \
|
||||
"$ORIGEN/apps/backend/src/" \
|
||||
"$DESTINO/apps/backend/src/" | tee -a "$LOG_FILE"
|
||||
|
||||
# README
|
||||
cp "$ORIGEN/apps/backend/README.md" "$DESTINO/apps/backend/"
|
||||
|
||||
success "BACKEND sincronizado"
|
||||
}
|
||||
|
||||
# Sincronizar archivos de FRONTEND
|
||||
sync_frontend() {
|
||||
log "Sincronizando FRONTEND..."
|
||||
|
||||
# Source
|
||||
rsync -av --delete \
|
||||
--exclude='node_modules' \
|
||||
--exclude='dist' \
|
||||
--exclude='.next' \
|
||||
--exclude='*.bak' \
|
||||
"$ORIGEN/apps/frontend/src/" \
|
||||
"$DESTINO/apps/frontend/src/" | tee -a "$LOG_FILE"
|
||||
|
||||
# Config files
|
||||
cp "$ORIGEN/apps/frontend/tailwind.config.js" "$DESTINO/apps/frontend/" 2>/dev/null || true
|
||||
|
||||
success "FRONTEND sincronizado"
|
||||
}
|
||||
|
||||
# Sincronizar DOCS
|
||||
sync_docs() {
|
||||
log "Sincronizando DOCS..."
|
||||
|
||||
rsync -av --delete \
|
||||
--exclude='*.bak' \
|
||||
"$ORIGEN/docs/" \
|
||||
"$DESTINO/docs/" | tee -a "$LOG_FILE"
|
||||
|
||||
success "DOCS sincronizado"
|
||||
}
|
||||
|
||||
# Sincronizar ORCHESTRATION
|
||||
sync_orchestration() {
|
||||
log "Sincronizando ORCHESTRATION..."
|
||||
|
||||
rsync -av --delete \
|
||||
--exclude='*.bak' \
|
||||
--exclude='backups' \
|
||||
"$ORIGEN/orchestration/" \
|
||||
"$DESTINO/orchestration/" | tee -a "$LOG_FILE"
|
||||
|
||||
success "ORCHESTRATION sincronizado"
|
||||
}
|
||||
|
||||
# Eliminar archivos obsoletos
|
||||
remove_obsolete_files() {
|
||||
log "Eliminando archivos obsoletos..."
|
||||
cd "$DESTINO"
|
||||
|
||||
# Frontend - Mecánicas eliminadas de Module4
|
||||
rm -rf "apps/frontend/src/features/mechanics/module4/ChatLiterario" 2>/dev/null || true
|
||||
rm -rf "apps/frontend/src/features/mechanics/module4/EmailFormal" 2>/dev/null || true
|
||||
rm -rf "apps/frontend/src/features/mechanics/module4/EnsayoArgumentativo" 2>/dev/null || true
|
||||
rm -rf "apps/frontend/src/features/mechanics/module4/ResenaCritica" 2>/dev/null || true
|
||||
|
||||
# Backend - DTOs eliminados
|
||||
rm -f "apps/backend/src/modules/educational/dto/module5/diario-reflexivo-answer.dto.ts" 2>/dev/null || true
|
||||
rm -f "apps/backend/src/modules/educational/dto/module5/podcast-answer.dto.ts" 2>/dev/null || true
|
||||
|
||||
# Database - Seeds eliminados
|
||||
rm -f "apps/database/seeds/prod/auth_management/05-profiles-demo.sql" 2>/dev/null || true
|
||||
|
||||
success "Archivos obsoletos eliminados"
|
||||
}
|
||||
|
||||
# Sincronizar archivos raíz del proyecto
|
||||
sync_root_files() {
|
||||
log "Sincronizando archivos raíz..."
|
||||
|
||||
cp "$ORIGEN/CHANGELOG.md" "$DESTINO/" 2>/dev/null || true
|
||||
cp "$ORIGEN/IMPLEMENTATION-SETTINGS-003.md" "$DESTINO/" 2>/dev/null || true
|
||||
|
||||
success "Archivos raíz sincronizados"
|
||||
}
|
||||
|
||||
# Verificar sincronización
|
||||
verify_sync() {
|
||||
log "Verificando sincronización..."
|
||||
cd "$DESTINO"
|
||||
|
||||
# Contar archivos
|
||||
BACKEND_COUNT=$(find apps/backend/src -name "*.ts" | wc -l)
|
||||
FRONTEND_COUNT=$(find apps/frontend/src -name "*.tsx" -o -name "*.ts" | wc -l)
|
||||
DATABASE_COUNT=$(find apps/database -name "*.sql" | wc -l)
|
||||
|
||||
log "Archivos Backend: $BACKEND_COUNT"
|
||||
log "Archivos Frontend: $FRONTEND_COUNT"
|
||||
log "Archivos Database: $DATABASE_COUNT"
|
||||
|
||||
# Verificar que no existen los archivos eliminados
|
||||
if [ -d "apps/frontend/src/features/mechanics/module4/ChatLiterario" ]; then
|
||||
warn "ChatLiterario aún existe - verificar eliminación"
|
||||
fi
|
||||
|
||||
success "Verificación completada"
|
||||
}
|
||||
|
||||
# Mostrar resumen
|
||||
show_summary() {
|
||||
echo ""
|
||||
echo "=============================================="
|
||||
echo -e "${GREEN}SINCRONIZACIÓN COMPLETADA${NC}"
|
||||
echo "=============================================="
|
||||
echo "Timestamp: $TIMESTAMP"
|
||||
echo "Log: $LOG_FILE"
|
||||
echo "Backup: $BACKUP_DIR/$TIMESTAMP"
|
||||
echo ""
|
||||
echo "PRÓXIMOS PASOS:"
|
||||
echo "1. cd $DESTINO"
|
||||
echo "2. Verificar cambios: git status"
|
||||
echo "3. Verificar build: npm run build (en backend y frontend)"
|
||||
echo "4. Commit: git add . && git commit -m 'Sync from development $TIMESTAMP'"
|
||||
echo "5. Push: git push origin main"
|
||||
echo ""
|
||||
}
|
||||
|
||||
# Función principal
|
||||
main() {
|
||||
echo ""
|
||||
echo "=============================================="
|
||||
echo "SINCRONIZACIÓN GAMILIT - DESARROLLO A PRODUCCIÓN"
|
||||
echo "=============================================="
|
||||
echo "Origen: $ORIGEN"
|
||||
echo "Destino: $DESTINO"
|
||||
echo "Timestamp: $TIMESTAMP"
|
||||
echo ""
|
||||
|
||||
read -p "¿Continuar con la sincronización? (s/n): " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Ss]$ ]]; then
|
||||
echo "Sincronización cancelada"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
create_backup_dir
|
||||
check_directories
|
||||
backup_destino
|
||||
|
||||
sync_database
|
||||
sync_backend
|
||||
sync_frontend
|
||||
sync_docs
|
||||
sync_orchestration
|
||||
sync_root_files
|
||||
remove_obsolete_files
|
||||
|
||||
verify_sync
|
||||
show_summary
|
||||
}
|
||||
|
||||
# Ejecutar
|
||||
main "$@"
|
||||
@ -0,0 +1,52 @@
|
||||
# Migración y Sincronización de Workspaces - Diciembre 2025
|
||||
|
||||
**Fecha de consolidación:** 2025-12-19
|
||||
**Estado:** Completado
|
||||
|
||||
---
|
||||
|
||||
## Estructura
|
||||
|
||||
```
|
||||
migracion-consolidado-2025-12/
|
||||
├── 01-requisitos/ # Requisitos iniciales de análisis
|
||||
├── 02-analisis/ # Análisis por fases (FASE1-5)
|
||||
├── 03-implementacion/ # Planes y reportes de implementación
|
||||
├── 04-backups/ # Backups de archivos migrados
|
||||
└── 05-scripts/ # Scripts de migración
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Contenido
|
||||
|
||||
### 01-requisitos/
|
||||
- `REQ-ANALISIS-MIGRACION-ORIGEN-DESTINO.md` - Requisitos iniciales
|
||||
|
||||
### 02-analisis/
|
||||
- `FASE1-ANALISIS-DIFERENCIAS.md` - Análisis inicial de diferencias
|
||||
- `FASE2-ANALISIS-DETALLADO.md` - Análisis detallado
|
||||
- `FASE3-PLAN-IMPLEMENTACION.md` - Plan de implementación
|
||||
- `FASE4-VALIDACION-DEPENDENCIAS.md` - Validación de dependencias
|
||||
- `FASE5-REPORTE-EJECUCION.md` - Reporte de ejecución
|
||||
|
||||
### 03-implementacion/
|
||||
- `RESUMEN-EJECUTIVO.md` - Resumen ejecutivo
|
||||
- `PLAN-MIGRACION-DETALLADO.md` - Plan detallado
|
||||
- `INVENTARIO-COMPLETO.md` - Inventario de archivos
|
||||
- `ANALISIS-CONFLICTOS.md` - Análisis de conflictos
|
||||
- `CORRECCIONES-REALIZADAS.md` - Correcciones aplicadas
|
||||
- `CHECKLIST-VALIDACION.md` - Checklist de validación
|
||||
|
||||
---
|
||||
|
||||
## Carpetas Originales (Archivadas)
|
||||
|
||||
Esta carpeta consolida contenido de:
|
||||
- `/orchestration/analisis-migracion/` (eliminada)
|
||||
- `/orchestration/analisis-migracion-2025-12-18/` (eliminada)
|
||||
- `/orchestration/reportes/migracion-prod-2025-12/` (eliminada)
|
||||
|
||||
---
|
||||
|
||||
**Generado:** 2025-12-19
|
||||
Loading…
Reference in New Issue
Block a user