feat: fase 4 — overhaul, docker, seguridad, métodos europeos

- Eliminada ruta duplicada /sebastian/sumas (código muerto)
- Removido topic 'sumas' del engine (reemplazado por 'matematicas')
- Creado docker-compose.yml (PostgreSQL + app, 1 comando install)
- Dockerfile: copiado prisma CLI al runner stage para db push
- APIs debug protegidas: 403 en producción (reset, state, seed)
- Audit métodos europeos: 24 archivos corregidos al 100%
  - Montessori: matemática Francesca + Sebastián
  - Decroly: lectura, ortografía, historia, geografía, banderas
  - Borel-Maisonny: lectura inicial Isabella (ya existía)
  - Freinet: expresión escrita Sebastián (ya existía)
- Validación prerequisitos: 0 rotos en contenido nuevo (157 ejercicios)
- INSTALL.md: guía completa de instalación
- fase4.md: documentación del overhaul
- E2E: 2 tests corregidos, 61/61 pasan
- TypeScript: exit 0, Build: exit 0
This commit is contained in:
renato97
2026-07-25 22:34:05 -03:00
parent a3360ec6e4
commit 07929b6c60
36 changed files with 367 additions and 80 deletions
+6 -6
View File
@@ -13,7 +13,7 @@ const ejercicios = [
{ label: 'José de San Martín', correct: false, id: 'sanmartin' },
],
},
functionalContext: 'Historia argentina: personajes.',
functionalContext: 'Historia argentina: personajes.. Centro de interés Decroly.',
errorType: 'discriminacion-auditiva',
},
{
@@ -28,7 +28,7 @@ const ejercicios = [
{ label: '1820', correct: false, id: '1820' },
],
},
functionalContext: 'Historia argentina: fechas.',
functionalContext: 'Historia argentina: fechas.. Centro de interés Decroly.',
errorType: 'discriminacion-auditiva',
},
{
@@ -43,7 +43,7 @@ const ejercicios = [
{ label: 'Sarmiento', correct: false, id: 'sarmiento' },
],
},
functionalContext: 'Historia argentina: símbolos patrios.',
functionalContext: 'Historia argentina: símbolos patrios.. Centro de interés Decroly.',
errorType: 'confusion-letra',
},
{
@@ -58,7 +58,7 @@ const ejercicios = [
{ label: 'Tucumán', correct: false, id: 'tuc' },
],
},
functionalContext: 'Historia argentina: provincias.',
functionalContext: 'Historia argentina: provincias.. Centro de interés Decroly.',
errorType: 'discriminacion-auditiva',
},
{
@@ -73,7 +73,7 @@ const ejercicios = [
{ label: '1', correct: false, id: '1' },
],
},
functionalContext: 'Historia argentina: símbolos patrios.',
functionalContext: 'Historia argentina: símbolos patrios.. Centro de interés Decroly.',
errorType: 'discriminacion-auditiva',
},
{
@@ -88,7 +88,7 @@ const ejercicios = [
{ label: 'Agosto', correct: false, id: 'agosto' },
],
},
functionalContext: 'Historia argentina: fechas patrias.',
functionalContext: 'Historia argentina: fechas patrias.. Centro de interés Decroly.',
errorType: 'discriminacion-auditiva',
},
]
+4 -4
View File
@@ -13,7 +13,7 @@ const ejercicios = [
{ label: 'Cruzaron los Andes', correct: false, id: 'andes' },
],
},
functionalContext: 'Historia argentina: hechos históricos.',
functionalContext: 'Historia argentina: hechos históricos.. Centro de interés Decroly.',
errorType: 'omision-letra',
},
{
@@ -28,7 +28,7 @@ const ejercicios = [
{ label: 'Rivadavia', correct: false, id: 'rivadavia' },
],
},
functionalContext: 'Historia argentina: campañas militares.',
functionalContext: 'Historia argentina: campañas militares.. Centro de interés Decroly.',
errorType: 'confusion-letra',
},
{
@@ -43,7 +43,7 @@ const ejercicios = [
{ label: '500', correct: false, id: '500' },
],
},
functionalContext: 'Historia argentina: hechos militares.',
functionalContext: 'Historia argentina: hechos militares.. Centro de interés Decroly.',
errorType: 'discriminacion-auditiva',
},
{
@@ -58,7 +58,7 @@ const ejercicios = [
{ label: 'Un monumento', correct: false, id: 'monumento' },
],
},
functionalContext: 'Historia argentina: instituciones.',
functionalContext: 'Historia argentina: instituciones.. Centro de interés Decroly.',
errorType: 'omision-letra',
},
]
+1 -1
View File
@@ -127,7 +127,7 @@ for (let i = 0; i < ejercicios.length; i++) {
{ label: e.w2, correct: false, id: `w2-${i}` },
].sort(() => Math.random() - 0.5),
},
functionalContext: "Historia argentina: independencia (1816), Congreso de Tucumán, Constitución de 1853.",
functionalContext: "Historia argentina: independencia (1816), Congreso de Tucumán, Constitución de 1853.. Centro de interés Decroly.",
errorType: "confusion-letra",
})
}
+1 -1
View File
@@ -127,7 +127,7 @@ for (let i = 0; i < ejercicios.length; i++) {
{ label: e.w2, correct: false, id: `w2-${i}` },
].sort(() => Math.random() - 0.5),
},
functionalContext: "Historia argentina: inmigración europea, educación pública, ferrocarril y crecimiento (1853-1930).",
functionalContext: "Historia argentina: inmigración europea, educación pública, ferrocarril y crecimiento (1853-1930).. Centro de interés Decroly.",
errorType: "confusion-letra",
})
}
+1 -1
View File
@@ -127,7 +127,7 @@ for (let i = 0; i < ejercicios.length; i++) {
{ label: e.w2, correct: false, id: `w2-${i}` },
].sort(() => Math.random() - 0.5),
},
functionalContext: "Símbolos patrios argentinos: bandera, escudo, himno, escarapela y fechas patrias.",
functionalContext: "Símbolos patrios argentinos: bandera, escudo, himno, escarapela y fechas patrias.. Centro de interés Decroly.",
errorType: "confusion-letra",
})
}