Skip to content

nmatei/simple-quiz-app

Repository files navigation

JS/HTML/CSS Quiz

A collection of questions to help you understand basic web concepts (mostly javascript).

🎞 Apps (Domains)

📚 Useful Resources

‍💻 My course on Udemy

📖 Read

🎥 Conferences

💠 Features

  • Welcome screen (enter or select name) + remember me
  • Remember selected options for each name
  • Show random tests with different levels
  • Choose levels
  • Choose domain
  • After finish Test show Statistics
  • Add time limit
  • Store answers in local storage in case of reload
  • Theme switch
  • Allow answers as text & number in combination with radio & checkbox
  • (bug) Reset after change level

👨‍🏫 Trainer Notes

📃 Generate a test with required questions

  • (Optional) Custom header
    • right click / 📝 Show Custom header editor
    • then ➔ Set Custom header on URL
  • Open test and right click / ✅ Select questions by ID's
  • Select specific ID's then press Copy ID's (bottom of the list)
  • right click / ✅ Generate Test Link
  • Paste the ID's from clipboard into browser prompt (CTRL + V)
  • Copy current link and share it

🔠 Extra params

  • test = 1 - to generate a theoretical or practical test (uses in prev chapter)
  • type = used to store the type of test (eg. theoretical or practical)
  • shuffle = none | all | questions | answers | both | 0 | a | q - to shuffle questions or answers
  • limit = 10 | 100 | 1000 | 10000 - to limit the number of questions
  • correct = 1 | true | 0 | false - to show correct answers
  • add = true | false - to add questions to the list
  • index = id - to show question id
  • allowUnload = false | true - to allow or prevent page unload
  • header = html - to show a custom header (you can use {params} as templates)
    • all parameters from URL can be used inside the header with {param})
    • extra parameters:
      • {user-name}
      • {start-time}
      • {start-date}

📋 Dev Notes

▶ Start & Build

npm i
npm start

Production build:

npm run build
# or
npm run deploy

How to add new questions

  • Fork this repo and clone it (your own copy), after that you can add new questions
    • commit / push changes on your own repo
    • create a pull request to merge your changes into this repo
    • if pull request is merged your name will be seen in Contributors view
  • Add Bible questions
  • Web questions
  • commit & push them
    • then create a pull request

TODOs

  • try webworkers to store entire content when you don't have internet
  • when select questions by ID's, show the question count (top corner - semi-transparent)
  • add compact mode for printing (reduce space/border between questions) - useful for printing on paper
  • hide blur count when print on paper

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5