IronHack-2024 / CodeQuestAPI

This is a REST API to get programming questions
MIT License
0 stars 0 forks source link

Convertir preguntas tipo test de Markdown a un array de objetos #8

Open omiras opened 1 week ago

omiras commented 1 week ago

Análisis

Necesitamos importar las preguntas tipo test de este repo que estan en formato MArkdown a un array de objetos que representen la pregunta tipo test.

No os preocupéis de momento de insertar los documentos en una base de datos MongoDB. Cuando se cree el modelo des de esta otra issue veremos un poco más claro qué tenemos que insertar en la base de datos

Simplificad el problema a resolver

Tenéis vuestro propio repositorio para implementar esta prueba de concepto en https://github.com/IronHack-2024/blueprint-import-markdown . Lo podéis clonar y pushear en la rama main directamente

zulcas commented 6 days ago

Estructura final del objeto buscada: { "question": "What is the result of 2 + 2 in JavaScript?", "options": [ { "text": "3", "correct": false }, { "text": "4", "correct": true }, { "text": "22", "correct": false }, { "text": "NaN", "correct": false } ] }

Pasos a seguir: 1) Importar fichero javascript-quiz.md desde repositorio origen 2) Tranformar fichero md a TXT 3) Leer fichero TXT linea a linea 3) Por estructura de preguntas capturar enunciado y respuestas y crear elemento objeto

omiras commented 5 days ago

Si podéis adaptar el programa a un script de nodejs. La idea es que podamos ejecutar el programa de esta manera

node convertToJson.js https://raw.githubusercontent.com/Ebazhanov/linkedin-skill-assessments-quizzes/refs/heads/main/css/css-quiz.md ficheroDeSalida.json

Te genera un fichero de salida de nombre javascript.json, ya con la estructura que esperamos (array de objetos)

La idea final es que tengamos una carpeta en el proyecto que se llame tools, y ahí meter el convertToJson.js

omiras commented 2 days ago

Como paso adicional en este lunes que viene, vamos a discuitr si seria interesante:

  1. Crear una nueva rama de desarrollo para el repo princpial (feature/x-markdown-to-json)
  2. Crear una carpeta tools en el proyecto principal
  3. Mover ahí el script que habéis creado con instrucciones de uso
  4. Pienso que este código va a ser modificado poco a poco a medida que necesitemos más información de las preguntas tipo test (por ejemplo clasificar las preguntas por categoría). Puede ser interesante hacer comentarios de código con vuestras palabras cuales son las partes principales del script.
omiras commented 1 day ago

Cuando tengáis esto documentado, llamadme porque podríamos

  1. Crear una rama de desarrollo en el proyecto pincipal
  2. Mover vuestro script a una carpeta tipo tools, y poner vuestro script dentro de un fichero markdown2json.js
  3. Subir la rama y mergearla con el main
omiras commented 14 hours ago

@nidaakb ha publicado una posible estructura para documentar las pruebas a realizar para probar la issue. Es algo similar a esto . Echadle un vistazo pero lo comentamos hoy en clase.