QUIZBUZZ DOCUMENTATION

A comprehensive guide to creating and sharing quizzes

INTRODUCTION

QuizBuzz is a web-based quiz application that allows users to create and share quizzes via Pastebin or other text-sharing services. This documentation explains how to properly structure your quiz data and share it with participants.

QUIZ DATA STRUCTURE

The quiz data must be in JSON format with the following structure: if using llm to generate the quiz data, make sure to follow the rules below.

JSON Formatting Rules:

1. Ensure valid JSON format with correct syntax and no trailing commas.
2. Escape backslashes as \\ and quotes as \".
3. Use inline LaTeX for math ($...$) and avoid nested $.
4. Each option must have a unique "no" (1, 2, 3, etc.).
5. Questions and options must not be empty.
6. Ensure correctoption references valid option numbers.
7. No excessive LaTeX; use short expressions within $...$.
8. Ensure UTF-8 encoding (Greek letters, etc.) is supported.
    

{
    "questions": [
        {
            "category": "Category Name",
            "subcategory": "Subcategory Name",
            "question": "Your question text?",
            "options": [
              {"no": 1, "option": "First option"},
              {"no": 2, "option": "Second option"},
              {"no": 3, "option": "Third option"}
            ],
            "correctoption": [1, 2]  // Array of correct option numbers
        }
          // More questions can follow in the same format
        ]
}
      

CREATING A QUIZ

Basic Structure

To create a quiz, follow these steps:

  • Start with the main JSON object containing a "questions" array
  • For each question:
    • Include "category" and "subcategory" fields for organization
    • Provide a clear "question" text
    • List all possible "options" with unique "no" values
    • Specify correct answer(s) in the "correctoption" array
Example of a single question:
{
  "category": "Science",
  "subcategory": "Physics",
  "question": "What is the speed of light?",
  "options": [
    {"no": 1, "option": "300,000 km/s"},
    {"no": 2, "option": "150,000 km/s"},
    {"no": 3, "option": "450,000 km/s"}
  ],
  "correctoption": [1]
}

Multiple Correct Answers

For questions with multiple correct answers, include all correct option numbers in the "correctoption" array:

{
  "category": "History",
  "subcategory": "World War II",
  "question": "Which countries were Allied powers in WWII?",
  "options": [
    {"no": 1, "option": "United States"},
    {"no": 2, "option": "Germany"},
    {"no": 3, "option": "United Kingdom"},
    {"no": 4, "option": "Japan"}
  ],
  "correctoption": [1, 3]
}
NOTE:

Users will have to select all correct options to receive credit for the question. Partial credit is not awarded.

HOSTING YOUR QUIZ

Using Pastebin

Follow these steps to host your quiz on Pastebin:

  1. Create a Pastebin account at pastebin.com
  2. Paste your complete JSON quiz data
  3. Set expiration to "Never"
  4. Set exposure to "Unlisted" or "Public"
  5. Click "Create New Paste"
  6. Copy the paste ID from the URL (the part after pastebin.com/)
Example:

For URL https://pastebin.com/abc123xyz, the Room ID is abc123xyz

NOTE:
  • Participants enter the Pastebin ID in the Room ID field
  • The app will fetch the quiz data from Pastebin
  • Multiple CORS proxies are used to ensure accessibility

Using Direct URLs

In addition to Pastebin, you can host your quiz JSON on any accessible URL:

  1. Upload your JSON quiz data to a file hosting service or your own server
  2. Ensure CORS is properly configured to allow access from the quiz application
  3. When entering the Room ID, toggle "Treat as direct URL" to ON
  4. Enter the full URL to your JSON file
NOTE:

The application will attempt to use various proxies if direct access fails due to CORS restrictions.

SHARING YOUR QUIZ

Room ID System

The Room ID system makes it easy to share your quiz with participants. Simply share the Pastebin ID with them, and they can enter it in the Room ID field.

You can also pre-fill the Room ID by adding it to the URL:

https://yourquizurl.com?roomid=PASTEBIN_ID
IMPORTANT:

Make sure your Pastebin is set to "Public" or "Unlisted" to ensure participants can access it.

ADVANCED FEATURES

Categories and Subcategories

You can organize your questions using categories and subcategories. This allows participants to filter questions by these groupings.

{
  "category": "Geography",
  "subcategory": "Europe",
  "question": "What is the capital of France?",
  ...
}
TIP:

Use consistent category and subcategory names across questions to create logical groupings. Participants can select which categories and subcategories to include in their quiz.

Question Percentage

The quiz creator can specify what percentage of questions to include from the available pool. The app will randomly select that percentage of questions, helping create varied quiz experiences from the same question set.

Example:

If you have 100 questions in your question pool and set the percentage to 50%, the app will randomly select 50 questions for the quiz.

LaTeX Mathematical Formulas

QuizBuzz supports LaTeX for displaying mathematical formulas in questions and options.

{
  "question": "What is the formula for the area of a circle? $A = \\pi r^2$",
  "options": [
    {"no": 1, "option": "Area = $\\pi r^2$"},
    {"no": 2, "option": "Area = $2\\pi r$"},
    {"no": 3, "option": "Area = $\\pi d^2$"}
  ],
  "correctoption": [1]
}
LaTeX Syntax:
  • Inline formulas: $formula$
  • Display formulas: $$formula$$
  • When writing LaTeX in JSON, remember to escape backslashes: \\alpha for \alpha
IMPORTANT:

Invalid LaTeX syntax will be highlighted in red in the quiz. Test your formulas before including them.

Audio Features

QuizBuzz includes background music and sound effects to enhance the quiz experience:

  • Background music plays during the quiz
  • Success sound plays for high scores (≥80%)
  • Failure sound plays for lower scores
  • Users can toggle sounds on/off using the volume icon in the top-right corner
  • Sound preferences are saved between sessions
TIP:

Sound may require user interaction before playing due to browser autoplay policies.

Question and Option Shuffling

QuizBuzz offers two shuffling options to create varied quiz experiences:

  • Shuffle Questions: Randomizes the order of questions in the quiz
  • Shuffle Options: Randomizes the order of answer options for each question

Both options can be toggled on/off in the quiz settings screen before starting the quiz.

TIP:

Using both shuffling options helps prevent memorization and creates a fresh experience each time.

TROUBLESHOOTING

Invalid JSON format:
  • Validate your JSON using QuizzBuzz Validator
  • Ensure all brackets and quotes are properly closed
Pastebin not loading:
  • Try making the paste "Public" instead of "Unlisted"
  • Verify the paste ID is correct
  • The app tries multiple proxies if one fails
Categories not appearing:
  • Ensure each question has both "category" and "subcategory" fields
  • These fields should be strings (in quotes)
Correct answers not registering:
  • Verify "correctoption" contains the exact "no" values from the options
  • For multiple correct answers, use an array format [1, 3]
Special characters in questions:
  • Escape special JSON characters properly
  • Use Unicode for complex symbols

QUIZ RESULTS & REVIEW

Score Calculation

Quiz scores are calculated based on entirely correct answers:

  • For questions with a single correct answer, you must select only that answer
  • For questions with multiple correct answers, you must select all correct options and no incorrect ones
  • Partial credit is not awarded

Results Animation

At the end of the quiz, you'll see:

  • Your final score as both a raw number and percentage
  • A celebratory confetti animation for scores of 80% or higher
  • Different animation and message for lower scores

Wrong Answers Review

After completing the quiz, you can review all questions you answered incorrectly:

  • Click "VIEW WRONG ANSWERS" to see which questions you missed
  • Correct answers are highlighted in green
  • Your incorrect selections are highlighted in red
TIP:

Use the wrong answers review to focus your studies on areas that need improvement.

ADDITIONAL TOOLS

QuizBuzz includes several additional tools to help you create and manage quiz content more effectively.

Data Builder

The Data Builder tool allows you to combine multiple quiz JSON files into one comprehensive quiz dataset. This is particularly useful when you have multiple quiz files that you want to merge together.

Use Cases:
  • Combining quizzes from different subjects into one comprehensive exam
  • Merging quiz files created by different contributors
  • Creating master quiz files from smaller topic-specific quizzes
  • Building large question banks from multiple sources

Features:

  • Multiple JSON Inputs: Add as many JSON files as needed
  • Real-time Analytics: See total questions, categories, and subcategories
  • Error Validation: Automatic JSON validation with error reporting
  • Combined Output: Generated combined JSON with proper formatting
  • Copy to Clipboard: Easy copying of the final combined JSON
  • Comment Support: Removes comments from JSON before processing

How to Use:

  1. Access the Data Builder from the main quiz page or via databuild.html
  2. Paste your first JSON quiz data into the initial input field
  3. Click "ADD ANOTHER JSON" to add more input fields as needed
  4. Paste additional JSON data into each field
  5. Click "COMBINE JSONs" to merge all valid JSON inputs
  6. Review the analytics to verify the combination results
  7. Copy the combined JSON using the "COPY TO CLIPBOARD" button
  8. Use the combined JSON in your quiz application or save it to a file
TIP:

The Data Builder will show error messages for any invalid JSON inputs, helping you identify and fix formatting issues before combining.

Slide Builder

The Slide Builder tool converts your quiz JSON data into PowerPoint presentations, making it easy to create educational slides for classroom use or presentations.

Use Cases:
  • Creating classroom presentation slides from quiz questions
  • Generating educational content for training sessions
  • Converting quiz data into presentation format for review sessions
  • Creating interactive classroom activities

Features:

  • JSON or URL Input: Accept JSON data directly or from URLs/Pastebin
  • Multiple Themes: Dark, Light, and Colorful presentation themes
  • Answer Slides: Optional answer slides with highlighted correct options
  • Category Display: Show or hide category information on slides
  • Option Shuffling: Randomize answer options for variety
  • Live Preview: Navigate through slides before generating
  • Custom Templates: Customizable slide title templates
  • Progress Tracking: Real-time generation progress

How to Use:

  1. Access the Slide Builder from slidebuilder.html
  2. Choose input method: JSON data or URL
  3. If using JSON: Paste your quiz data into the text area
  4. If using URL: Enter the URL to your JSON data (Pastebin, etc.)
  5. Configure shuffle options if desired
  6. Click "PROCESS DATA" to load and validate your quiz
  7. Review the statistics and configure slide settings:
    • Choose presentation theme
    • Set title template
    • Toggle answer slides
    • Enable/disable category display
  8. Use the preview section to navigate through slides
  9. Click "GENERATE POWERPOINT" to create and download the presentation

Slide Types:

  • Question Slides: Display the question with all answer options
  • Answer Slides: Show the same question with correct answers highlighted in green
  • Category Headers: Optional category/subcategory information at the top
PowerPoint Compatibility:

Generated PowerPoint files are compatible with Microsoft PowerPoint, LibreOffice Impress, and Google Slides. The presentations use standard fonts and formatting for maximum compatibility.

Large Datasets:

For very large quiz datasets (500+ questions), generation may take some time. The progress bar will show the current status.