Vai al contenuto

📝 Come aggiungere nuove domande al pool

Il file domande-pool.json contiene tutte le domande della banca quiz dinamica. Per aggiungerne di nuove, basta seguire il formato esistente.

Formato di una domanda

Ogni domanda è un oggetto JSON con questi campi:

{
  "id": 61,
  "livello": "BASE",
  "argomento": "Profilo alare",
  "domanda": "Testo della domanda?",
  "opzioni": [
    "A. Prima opzione",
    "B. Seconda opzione",
    "C. Terza opzione",
    "D. Quarta opzione"
  ],
  "correct": "b",
  "spiegazione": "Perché B è la risposta corretta. Eventuale riferimento alla lezione."
}

Regole

  • id: numero progressivo (incrementare dall'ultimo id esistente)
  • livello: "BASE" | "MEDIO" | "AVANZATO"
  • argomento: breve etichetta (es. "Portanza", "Resistenza", "ISA")
  • correct: "a" | "b" | "c" | "d" (tutto minuscolo)
  • opzioni: sempre 4, con prefisso A., B., C., D.

Procedura di modifica

  1. Apri aerodinamica-liceo/assets/data/domande-pool.json.
  2. Duplica una domanda dello stesso livello e usala come modello.
  3. Scrivi il nuovo quesito e quattro opzioni non ambigue.
  4. Verifica risposta e spiegazione nella lezione collegata.
  5. Assegna un id progressivo e inserisci l'oggetto nell'array "domande".
  6. Aggiorna _meta.totale_domande con il nuovo totale.
  7. Esegui la validazione qui sotto e gli smoke test del repository.

Al prossimo deploy le domande sono live.

Validazione prima del commit

Per verificare che il JSON sia valido:

python3 -c "import json; print(len(json.load(open('aerodinamica-liceo/assets/data/domande-pool.json'))['domande']))"

Se stampa il numero di domande senza errore, il JSON è valido.

Statistiche pool attuale

Per vedere quante domande hai per livello/argomento:

python3 -c "
import json
from collections import Counter
d = json.load(open('aerodinamica-liceo/assets/data/domande-pool.json'))['domande']
print('Per livello:', Counter(q['livello'] for q in d))
print('Per argomento:', Counter(q['argomento'] for q in d).most_common())
"