Fase 2 (expansion): - Francesca: +6 etapas matematicas (5-10), +7 etapas lectura (3-9), +2 ortografia - Sebastian: +8 etapas matematicas (4-11), +6 lectura, +3 historia, +3 geografia, +1 banderas - Nuevas paginas: ortografia, lectura, geografia, matematicas - ~900 ejercicios nuevos, paridad ~500 por perfil Fase 3 (bug fixes + hardening): - Fix: SessionLog auto-create en grade route - Fix: engine cache (no borrar antes de revisar) - Fix: FSRS cards actualizadas en flujo curriculum - Fix: responseMs real (no hardcodeado 3000) - Fix: options dentro de content en sebastian etapa-1 - Fix: trazo-letra consonantes crash - Security: execFileSync anti-command-injection en TTS - DB: 18 cascade deletes + indices + unique constraints - APIs debug: reset, state, seed - Docker: espeak-ng + prisma + user/group - E2E: 23 tests nuevos (curriculum-flow.spec.ts) - Code review: tailwind colors, middleware dev mode, eslint config Verificado: tsc exit 0, build exit 0, 61 E2E tests pass
132 lines
6.4 KiB
TypeScript
132 lines
6.4 KiB
TypeScript
import type { Stage } from "../types"
|
|
|
|
const lecturas = [
|
|
{
|
|
text: "Los perros son mamíferos. Tienen cuatro patas y pelo. Les gusta jugar y salir a pasear. Son mascotas muy cariñosas.",
|
|
preguntas: [
|
|
{ q: "¿Cuántas patas tienen los perros?", op: ["Cuatro", "Dos", "Seis"], correcta: "Cuatro" },
|
|
{ q: "¿Qué les gusta hacer a los perros?", op: ["Jugar y pasear", "Nadar", "Volar"], correcta: "Jugar y pasear" },
|
|
{ q: "¿Cómo son los perros como mascotas?", op: ["Cariñosos", "Peligrosos", "Tímidos"], correcta: "Cariñosos" },
|
|
],
|
|
emoji: "🐕",
|
|
},
|
|
{
|
|
text: "Los gatos son ágiles y sigilosos. Tienen ojos que ven en la oscuridad. Les gusta cazar ratones y dormir al sol.",
|
|
preguntas: [
|
|
{ q: "¿Qué tienen los gatos en sus ojos?", op: ["Ven en la oscuridad", "Son azules", "Son grandes"], correcta: "Ven en la oscuridad" },
|
|
{ q: "¿Qué les gusta cazar?", op: ["Ratones", "Pájaros", "Peces"], correcta: "Ratones" },
|
|
{ q: "¿Dónde les gusta dormir?", op: ["Al sol", "En el agua", "En los árboles"], correcta: "Al sol" },
|
|
],
|
|
emoji: "🐱",
|
|
},
|
|
{
|
|
text: "Las aves tienen alas y plumas. La mayoría puede volar. Ponen huevos y construyen nidos en los árboles.",
|
|
preguntas: [
|
|
{ q: "¿Qué tienen las aves para volar?", op: ["Alas y plumas", "Aletas", "Patas largas"], correcta: "Alas y plumas" },
|
|
{ q: "¿Qué ponen las aves?", op: ["Huevos", "Leche", "Flores"], correcta: "Huevos" },
|
|
{ q: "¿Dónde construyen sus nidos?", op: ["En los árboles", "En el agua", "En las cuevas"], correcta: "En los árboles" },
|
|
],
|
|
emoji: "🐦",
|
|
},
|
|
{
|
|
text: "Los peces viven en el agua. Tienen escamas y aletas para nadar. Respiran por branquias. Hay peces de muchos colores.",
|
|
preguntas: [
|
|
{ q: "¿Cómo respiran los peces?", op: ["Por branquias", "Por pulmones", "Por la piel"], correcta: "Por branquias" },
|
|
{ q: "¿Qué tienen los peces para nadar?", op: ["Aletas", "Patas", "Alas"], correcta: "Aletas" },
|
|
{ q: "¿Dónde viven los peces?", op: ["En el agua", "En la tierra", "En el aire"], correcta: "En el agua" },
|
|
],
|
|
emoji: "🐟",
|
|
},
|
|
{
|
|
text: "Las mariposas son insectos. Tienen seis patas y dos alas de colores. Salen de una oruga después de hacer un capullo.",
|
|
preguntas: [
|
|
{ q: "¿Cuántas patas tienen las mariposas?", op: ["Seis", "Cuatro", "Ocho"], correcta: "Seis" },
|
|
{ q: "¿De qué sale la mariposa?", op: ["De una oruga", "De un huevo", "Del agua"], correcta: "De una oruga" },
|
|
{ q: "¿Qué hacen antes de ser mariposa?", op: ["Un capullo", "Un nido", "Un agujero"], correcta: "Un capullo" },
|
|
],
|
|
emoji: "🦋",
|
|
},
|
|
{
|
|
text: "Los elefantes son los animales más grandes de la tierra. Tienen trompa larga y orejas grandes. Pueden pesar hasta 6.000 kilos.",
|
|
preguntas: [
|
|
{ q: "¿Cuál es el animal más grande de la tierra?", op: ["El elefante", "La jirafa", "El oso"], correcta: "El elefante" },
|
|
{ q: "¿Cuánto puede pesar un elefante?", op: ["6.000 kilos", "1.000 kilos", "10.000 kilos"], correcta: "6.000 kilos" },
|
|
{ q: "¿Qué tienen los elefantes en la cabeza?", op: ["Orejas grandes", "Cuernos", "Melena"], correcta: "Orejas grandes" },
|
|
],
|
|
emoji: "🐘",
|
|
},
|
|
{
|
|
text: "Los delfines son mamíferos marinos. Son muy inteligentes y juguetones. Saltan fuera del agua y se comunican con silbidos.",
|
|
preguntas: [
|
|
{ q: "¿Cómo se comunican los delfines?", op: ["Con silbidos", "Con ladridos", "Con rugidos"], correcta: "Con silbidos" },
|
|
{ q: "¿Qué hacen los delfines fuera del agua?", op: ["Saltan", "Vuelan", "Caminan"], correcta: "Saltan" },
|
|
{ q: "¿Cómo son los delfines?", op: ["Inteligentes y juguetones", "Perezosos y dormilones", "Agresivos y solitarios"], correcta: "Inteligentes y juguetones" },
|
|
],
|
|
emoji: "🐬",
|
|
},
|
|
{
|
|
text: "Las abejas hacen miel. Viven en colmenas y trabajan en equipo. Vuelan de flor en flor recogiendo néctar.",
|
|
preguntas: [
|
|
{ q: "¿Dónde viven las abejas?", op: ["En colmenas", "En nidos", "En cuevas"], correcta: "En colmenas" },
|
|
{ q: "¿Qué hacen las abejas?", op: ["Miel", "Leche", "Pan"], correcta: "Miel" },
|
|
{ q: "¿Qué recogen de las flores?", op: ["Néctar", "Polvo", "Agua"], correcta: "Néctar" },
|
|
],
|
|
emoji: "🐝",
|
|
},
|
|
{
|
|
text: "Los leones son felinos salvajes. Viven en África. El macho tiene una melena grande. Son conocidos como los reyes de la selva.",
|
|
preguntas: [
|
|
{ q: "¿Dónde viven los leones?", op: ["En África", "En Asia", "En Europa"], correcta: "En África" },
|
|
{ q: "¿Qué tiene el león macho?", op: ["Una melena grande", "Cuernos", "Rayas"], correcta: "Una melena grande" },
|
|
{ q: "¿Cómo son conocidos los leones?", op: ["Reyes de la selva", "Reyes del mar", "Reyes del cielo"], correcta: "Reyes de la selva" },
|
|
],
|
|
emoji: "🦁",
|
|
},
|
|
{
|
|
text: "Los pingüinos viven en el Polo Sur. No vuelan pero nadan muy bien. Tienen plumaje negro y blanco. Cuidan sus huevos en el hielo.",
|
|
preguntas: [
|
|
{ q: "¿Dónde viven los pingüinos?", op: ["En el Polo Sur", "En el Polo Norte", "En la selva"], correcta: "En el Polo Sur" },
|
|
{ q: "¿Qué hacen muy bien los pingüinos?", op: ["Nadan", "Vuelan", "Corren"], correcta: "Nadan" },
|
|
{ q: "¿De qué color son los pingüinos?", op: ["Negro y blanco", "Marrón y blanco", "Gris y blanco"], correcta: "Negro y blanco" },
|
|
],
|
|
emoji: "🐧",
|
|
},
|
|
]
|
|
|
|
const exercises: any[] = []
|
|
let idx = 0
|
|
for (const l of lecturas) {
|
|
for (const p of l.preguntas) {
|
|
exercises.push({
|
|
id: `fra4-animales-${idx}`,
|
|
stage: 4,
|
|
skillCode: `lectura-animales-${idx}`,
|
|
type: "lectura",
|
|
prerequisites: idx === 0 ? [`fra3-familia-29`] : [`fra4-animales-${idx - 1}`],
|
|
content: {
|
|
instruction: p.q,
|
|
text: l.text,
|
|
audioText: l.text,
|
|
emoji: l.emoji,
|
|
options: p.op.map((o) => ({
|
|
label: o,
|
|
correct: o === p.correcta,
|
|
id: o.toLowerCase().slice(0, 12),
|
|
})),
|
|
},
|
|
functionalContext: "Centro de interés Decroly: los animales. Clasificación y características de mamíferos, aves, peces e insectos.",
|
|
errorType: "omision-letra",
|
|
})
|
|
idx++
|
|
}
|
|
}
|
|
|
|
const stage: Stage = {
|
|
id: 4,
|
|
name: 'Centro de interés: "Los animales"',
|
|
description: "Textos sobre animales con preguntas de comprensión (método Decroly).",
|
|
exercises,
|
|
}
|
|
|
|
export default stage
|