Zoeken op Blue 2 Blond

Quiz-vragen.nl

logo

Iets origineels nodig voor op een feestje of tijdens de vrijdagmiddagborrel op kantoor? Organiseer dan eens een quiz in uw café of op locatie.

Lees verder Bezoek website
Opdrachtgever:
Progress Events talen: php, mysql, xhtml, css, javascript
Oplevering:
Zomer 2018

Voor Progress Events hebben we een (pub)quiz applicatie herbouwd, waarmee men met de juiste rechten eigen vragen kan toevoegen, quizzes kunnen aanmaken en quizzen kunnen wijzigen.

Quiz variabelen

Voor de bouw van deze quiz-tool, hebben we ons standaard CRM fundering ingezet, waarmee er enkel nog uitdagingen bleven aan het eigenlijke quiz-beheer. Voor het aanmaken van een quiz, was onder meer het volgende van belang:

  1. Er moest een verdeling van moeilijkheidsgraad worden gedefinieerd, voordat de quiz gegenereerd zou worden;
  2. Er moesten onderwerpen aangeduid kunnen worden, waarbinnen de quizvragen dienden te vallen;
  3. De vragen binnen een quiz, moeten in rondes worden verdeeld, waarbij het aantal rondes als ook aantal vragen per ronde vooraf is op te geven;
  4. De vragen dienen verdeeld te worden, om achtereenvolgende vragen van dezelfde moeilijkheidsgraad dan wel onderwerp te voorkomen.

De insteek was dat bij het genereren van een quiz, men nauwelijks nog aan quiz- c.q. vraagrevisie hoeft te doen. Op deze manier vergt het bedenken als ook invoeren van nieuwe vragen het meeste tijd, wat als bron voor de quizes dient.

Quiz-vragen in praktijk

De praktijk is echter anders, doordat vragen veelal op een net iets andere manier gesteld kan worden. Denk aan gebruik van synoniemen, maar ook omgedraaide vragen als:

  • Wie was president van de Verenigde Staten in 2018?
  • Van welk land was Donald Trump president?
  • In welke periode was Donald Trump president?

Om te voorkomen dat deze drie vragen terug kunnen komen in dezelfde quiz, zijn de volgende maatregelen getroffen:

  1. Bij de invoer van nieuwe vragen, wordt direct een check gedaan op steekwoorden en worden overeenkomstige vragen getoond. Middels een lijst van overeenkomstige vragen, kan een beheerder besluiten een vraag wel of niet toe te voegen of anders te formuleren;
  2. Bij het genereren van een quiz, zal de quiz-tool gelijkende vragen vermijden en proberen te vervangen door een andere vraag van dezelfde moeilijkheidsgraad en onderwerp.

Quiz uitdagingen

Het automatisch genereren van een quiz op basis van bovenstaande variabelen, bracht onder meer de volgende uitdagingen met zich mee:

  1. Een onderwerp kan onvoldoende vragen hebben. Hier wordt men direct van op de hoogte gesteld, waardoor er handmatig vragen uit een andere categorie c.q. onderwerp gekozen kan worden;
  2. Een moeilijkheidsgraad kan bij aanvang onvoldoende vragen bevatten;
  3. Wanneer een gelijkende vraag automatisch vervangen wordt, kunnen er onvoldoende vragen van dezelfde moeilijkheidsgraad en onderwerp zijn.

In deze gevallen wordt eerst geprobeerd een vraag te vervangen door een vraag van dezelfde moeilijkheidsgraad, maar ander onderwerp. Als dat niet slaagt, wordt er een willekeurige vraag gebruikt. Hierbij dient geput te worden uit de vragen die nog niet gebruikt zijn binnen de betreffende organisatie welke een quiz aanmaakt.

Quiz-organisaties

En hier huist een nieuwe uitdaging. Sommige vragen zullen door de ene organisatie reeds gebruikt zijn, terwijl ze door andere organisaties nog benut mogen worden. Met een extra variabele in het spel, betreffende quiz-vragen die na een specifieke periode herkeurd moeten worden (denk aan vragen omtrent actualiteit), vergde dit een generieke oplossing.

Dezelfde uitdaging was ook van toepassing op het ophalen van nog beschikbare vragen. Met ruim 40.000 quizvragen, konden database-queries tegen limieten aanlopen wanneer dit gecombineerd werd met alle bovenstaande variabelen. Hier hebben we uiteindelijk omheen kunnen werken door slim gebruik te maken van array's per variabele.

Mutaties binnen een quiz

Wanneer een quiz eenmaal is aangemaakt, kunnen vragen nog gemuteerd worden. Vragen kunnen:

  • binnen een quiz van positie als ook quiz-ronde worden gewijzigd;
  • vervangen worden door een nieuw ingevoerde vraag (hierbij kan worden aangevinkt of de vraag als nieuw toegevoegd dient te worden, of dat de vraag in alle quizes gewijzigd mag worden);
  • vervangen worden door een andere bestaande vraag in de quiz-database, waarbij op variabelen als moeilijkheidsgraad en onderwerp gefilterd kan worden.

Middels gebruik van wkhtmltopdf kan een quiz naar PDF document omgezet worden. Hierbij wordt er een pagina per ronde gemaakt, waarbij via de quiz-applicatie is opgegeven of na elke ronde, de vragen geprint moeten worden, of dat eerst alle rondes geprint moeten worden om vervolgens opgevolgd te worden door alle antwoorden.