📝 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'ultimoidesistente)livello:"BASE"|"MEDIO"|"AVANZATO"argomento: breve etichetta (es. "Portanza", "Resistenza", "ISA")correct:"a"|"b"|"c"|"d"(tutto minuscolo)opzioni: sempre 4, con prefissoA.,B.,C.,D.
Procedura di modifica¶
- Apri
aerodinamica-liceo/assets/data/domande-pool.json. - Duplica una domanda dello stesso livello e usala come modello.
- Scrivi il nuovo quesito e quattro opzioni non ambigue.
- Verifica risposta e spiegazione nella lezione collegata.
- Assegna un
idprogressivo e inserisci l'oggetto nell'array"domande". - Aggiorna
_meta.totale_domandecon il nuovo totale. - 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())
"