Project: quiz-app

Bekijk ook de wireframes (nu wel volledig, te lezen in combinatie met beschrijving hieronder).

  • Een webapplicatie waarbij een administrator vragen kan maken en spelers zich kunnen registreren en deze vragen kunnen beantwoorden.
  • Elke speler kan een vraag maar één keer beantwoorden.
  • Er zijn twee types vragen:
    • multiple choice vragen: een vraag heeft meerdere antwoordmogelijkheden, slechts één antwoord is juist.
    • open vragen: een vraag heeft een juist antwoord, maar er bestaan alternatieven voor dat antwoord die ook juist gerekend worden. Antwoorden moeten hoofdletterongevoelig zijn en ook met spaties hou je best geen rekening.
  • De administrator kan aan elke vraag een bepaalde punten kwotering hangen (tussen 1 en 5 punten)
  • Er is een scorebord met een ranking van iedereen die al minstens één vraag opgelost heeft.
rol administrator
  • kan quizvragen oplijsten, aanmaken, bewerken en wissen
    • quizvragen van het type multiple choice hebben tussen de drie en de vier antwoordmogelijkheden. Slechts één is de juiste.
    • quizvragen van het type open vraag hebben één juist antwoord, maar een onbepaald aantal alternatieven.
    • quizvragen hebben een categorie
  • kan spelers oplijsten, wijzigen, admin maken of niet, blokkeren (kunnen dan niet meer inloggen) en deblokkeren.
  • kan het wachtwoord van een speler resetten: een nieuw random wachtwoord wordt gegenereerd en éénmalig in een statusmessage op het scherm van de admin getoond wordt. Dit nieuw wachtwoord wordt dan ook gehashed in de database opgeslagen.
  • kan categorieën oplijsten, aanmaken, bewerken en wissen (opmerking: wanneer je een categorie wilt verwijderen en er bestaan vragen over die categorie, dan mag je die categorie niet verwijderen, maar moet er een status message komen dat deze categorie niet verwijderd kan worden omdat er nog vragen mee gelinkt zijn)
rol speler
  • kan elke quizvraag 1 keer oplossen
  • kan het scorebord bekijken
Foutmeldingen en notificaties
  • Zorg bij formulieren voor een validatie van de velden en foutmeldingen waar nodig.
  • Zorg dat bij elke bewerking er feedback meldingen komen of het al dan niet gelukt is. Je kan hiervoor de opmaak van alerts gebruiken.
Extra functionaliteiten
  • een speler kan een categorie bekijken en daarbinnen zien welke vragen hij wel of niet heeft opgelost.
  • een speler kan een detailpagina van elke speler zien met statistieken zoals: hoeveel vragen opgelost door deze speler, hoeveel juist, hoeveel punten

Database schema

Het databaseschema hieronder is een startpunt. Uiteraard kan je hier aanpassingen aan doen waar je denkt dat het nodig is.

database schema

DDL

Vul je studentnummer in en genereer DDL-code voor je project: