🛠️ Refactorización de question-service.js y Modularización del Código 📦 #49
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Originalmente, todo el código de generación de preguntas estaba confinado en un único archivo "question-service.js", abarcando desde la lógica de la aplicación Express hasta la ejecución de consultas SPARQL en Wikidata y el manejo de las respuestas.
Cambios realizados:
📚 Separación de la lógica SPARQL: Extraje la lógica para realizar consultas SPARQL a Wikidata fuera de "question-service.js". Ahora, ésta reside en "wikiQuery.js" y "wikiCall.js". "wikiQuery" se encarga de construir las consultas SPARQL y manejar las respuestas de la API, mientras que "wikiCall.js" se ocupa de ejecutar llamadas a la API de Wikidata.
🧩 Introducción de plantillas de preguntas: Implemente un nuevo módulo "questionTemplates.js" que define plantillas para generar distintos tipos de preguntas, facilitando la creación de nuevos tipos de preguntas.
🔄 Modularización y Reutilización de Código: Esta reestructuración ha mejorado la reutilización de funciones comunes, como las llamadas a la API de Wikidata o la selección aleatoria de elementos, reduciendo la duplicación de código.
🚀 Cambio en el Endpoint del gateway: Renombre el endpoint para generar preguntas de /generatequestion a /getquestion, para alinear mejor con la funcionalidad esperada por la interfaz.