Aquí el producto terminado.
Aquí el sheets y el Google Apps Script
https://docs.google.com/spreadsheets/d/1UcSQRPrYyuz8iGMjReB_to7HP-y1pU7GJIOYrq8Kepk/template/preview
Por último, aquí el prompt optimizado
Prompt Optimizado para Crear una Web App de Flashcards
Resumen del Proyecto
Quiero crear una aplicación web (webapp) de flashcards de vocabulario usando Google Apps Script. La aplicación leerá palabras de una hoja de Google Sheets y me ayudará a estudiar de manera inteligente, enfocándose en las palabras que menos conozco.
Requisitos de la Hoja de Cálculo (Backend)
- Hoja de Datos (
Words): La fuente principal de palabras. Debe tener las siguientes columnas:Ingles: La palabra a aprender.Espanol: La traducción.Intentos: Un contador de cuántas veces ha aparecido la palabra (calculado con fórmula).Aciertos: Un contador de cuántas veces la marqué como «Correcta» (calculado con fórmula).% de aciertos: El ratio de aciertos sobre intentos (calculado con fórmula).
- Hoja de Registro (
Historico): Una hoja que registra cada respuesta. Cada vez que respondo, se debe añadir una nueva fila con:Fecha: La fecha y hora exactas de la respuesta.Ingles: La palabra en inglés.Espanol: La palabra en español.Resultado: El texto «Correcto» o «Incorrecto».
Funcionalidades de la Aplicación Web (Frontend)
- Pantalla de Inicio:
- Un menú para seleccionar el número de palabras a estudiar por sesión (ej: 10, 20, 50, Todas).
- Un botón para iniciar la sesión de estudio.
- Pantalla de Estudio:
- Una ficha o tarjeta (flashcard) que se pueda voltear con un clic.
- El anverso de la tarjeta debe mostrar la palabra en español.
- El reverso debe mostrar la traducción en inglés.
- En lugar de un botón «Siguiente», debe haber dos botones: «Correcto» (verde) e «Incorrecto» (rojo).
- Al hacer clic en uno de estos botones, la respuesta se registra en la hoja
Historicoy se pasa a la siguiente palabra. - Debe mostrar un contador de progreso (ej: «Palabra 5 de 20»).
- Algoritmo de Selección de Palabras:
- La selección de palabras para una sesión no debe ser puramente aleatoria.
- Debe usar un algoritmo de «weighted randomness» (aleatoriedad ponderada).
- Criterio 1 (Prioridad Alta): Las palabras con menos intentos deben tener más probabilidad de aparecer.
- Criterio 2 (Prioridad Secundaria): Entre las palabras con pocos intentos, las que tengan menor porcentaje de aciertos deben tener aún más probabilidad.
- Pantalla de Finalización:
- Al completar todas las palabras de la sesión, debe aparecer un modal o ventana emergente dentro de la propia página (no una alerta del navegador).
- El modal debe felicitar al usuario y tener un botón para «Volver al Inicio».
Especificaciones Técnicas
- Plataforma: Google Apps Script.
- Backend: Código en
Código.gs. - Frontend: Código en
Index.html(debe incluir HTML, CSS y JavaScript en un solo archivo). - Permisos: El script necesitará permisos para leer y escribir en la hoja de cálculo de Google Sheets asociada.
- Implementación: Debe ser una Aplicación Web implementada para que cualquiera con el enlace pueda acceder a ella.