diff --git a/src/app/api/questions/Easy.json b/src/app/api/questions/Easy.json deleted file mode 100644 index 7fb5c53..0000000 --- a/src/app/api/questions/Easy.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "questions": [ - { - "id": 1, - "type": "fill-in-the-blanks", - "question": "I see __ orange on the table.", - "blanks": ["an"], - "note": "Articles" - }, - { - "id": 2, - "type": "fill-in-the-blanks", - "question": "The cat is __ the box.", - "blanks": ["in"], - "note": "Prepositions" - }, - { - "id": 3, - "type": "multiple-choice", - "question": "Which is a proper noun?", - "options": ["dog", "park", "Monday", "Mumbai"], - "correctAnswers": ["Mumbai"], - "multipleAnswers": false, - "note": "Common and Proper Nouns" - }, - { - "id": 5, - "type": "matching", - "question": "Match the word with its opposite", - "leftItems": ["Big", "Happy"], - "rightItems": ["Small", "Sad"], - "correctMatches": { - "Big": "Small", - "Happy": "Sad" - }, - "note": "Opposites" - }, - { - "id": 6, - "type": "fill-in-the-blanks", - "question": "The bird is __ the tree.", - "blanks": ["on"], - "note": "Prepositions" - }, - { - "id": 7, - "type": "multiple-choice", - "question": "What is 2 + 3?", - "options": ["4", "5", "6", "7"], - "correctAnswers": ["5"], - "multipleAnswers": false, - "note": "Addition with carryover" - }, - { - "id": 9, - "type": "multiple-choice", - "question": "Which shape has no corners?", - "options": ["Square", "Circle", "Triangle", "Rectangle"], - "correctAnswers": ["Circle"], - "multipleAnswers": false, - "note": "Solid shapes" - }, - { - "id": 10, - "type": "fill-in-the-blanks", - "question": "The __ is shining in the sky.", - "blanks": ["sun"], - "note": "Vocabulary - Meaning" - }, - { - "id": 11, - "type": "multiple-choice", - "question": "What is the opposite of 'hot'?", - "options": ["Cold", "Warm", "Cool", "Dry"], - "correctAnswers": ["Cold"], - "multipleAnswers": false, - "note": "Opposites" - }, - { - "id": 12, - "type": "matching", - "question": "Match the animal with its home", - "leftItems": ["Dog", "Bird"], - "rightItems": ["Nest", "Kennel"], - "correctMatches": { - "Dog": "Kennel", - "Bird": "Nest" - }, - "note": "General knowledge" - }, - { - "id": 13, - "type": "multiple-choice", - "question": "What is 5 × 3?", - "options": ["8", "12", "15", "18"], - "correctAnswers": ["15"], - "multipleAnswers": false, - "note": "Multiplication" - }, - { - "id": 14, - "type": "multiple-choice", - "question": "Which is a preposition?", - "options": ["Tree", "On", "Fast", "Happy"], - "correctAnswers": ["On"], - "multipleAnswers": false, - "note": "Prepositions" - }, - { - "id": 15, - "type": "fill-in-the-blanks", - "question": "The dog __ running fast.", - "blanks": ["is"], - "note": "Verbs" - }, - { - "id": 16, - "type": "matching", - "question": "Match the shapes with their names", - "leftItems": ["A square", "A triangle"], - "rightItems": ["Four sides", "Three sides"], - "correctMatches": { - "A square": "Four sides", - "A triangle": "Three sides" - }, - "note": "Solid shapes" - }, - { - "id": 17, - "type": "multiple-choice", - "question": "Which is a pronoun?", - "options": ["She", "Table", "Blue", "Run"], - "correctAnswers": ["She"], - "multipleAnswers": false, - "note": "Pronouns" - }, - { - "id": 18, - "type": "fill-in-the-blanks", - "question": "The boy and the girl are __ to school.", - "blanks": ["going"], - "note": "Verbs" - }, - { - "id": 19, - "type": "multiple-choice", - "question": "What comes after 999?", - "options": ["998", "1000", "1001", "999"], - "correctAnswers": ["1000"], - "multipleAnswers": false, - "note": "Numerals and number names" - } - ] -} diff --git a/src/app/api/questions/Hard copy.json b/src/app/api/questions/Hard copy.json deleted file mode 100644 index d5dd96f..0000000 --- a/src/app/api/questions/Hard copy.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "questions": [ - { - "id": 1, - "type": "multiple-choice", - "question": "What is 654 × 3?", - "options": ["1902", "1962", "1842", "1862"], - "correctAnswers": ["1962"], - "multipleAnswers": false, - "note": "Multiplication" - }, - { - "id": 2, - "type": "multiple-choice", - "question": "Which of these is NOT a proper noun?", - "options": ["London", "Car", "Monday", "Taj Mahal"], - "correctAnswers": ["Car"], - "multipleAnswers": false, - "note": "Common and Proper Nouns" - }, - { - "id": 4, - "type": "matching", - "question": "Match the synonyms", - "leftItems": ["Brave", "Quick"], - "rightItems": ["Courageous", "Fast"], - "correctMatches": { - "Brave": "Courageous", - "Quick": "Fast" - }, - "note": "Synonyms" - }, - { - "id": 5, - "type": "multiple-choice", - "question": "What is 923 - 567?", - "options": ["356", "366", "356", "346"], - "correctAnswers": ["356"], - "multipleAnswers": false, - "note": "Subtraction with borrowing" - }, - { - "id": 6, - "type": "fill-in-the-blanks", - "question": "A cube has __ faces.", - "blanks": ["6"], - "note": "Solid shapes" - }, - { - "id": 7, - "type": "multiple-choice", - "question": "Which is a pronoun?", - "options": ["He", "Run", "School", "Jump"], - "correctAnswers": ["He"], - "multipleAnswers": false, - "note": "Pronouns" - }, - { - "id": 8, - "type": "multiple-choice", - "question": "What is 432 + 219?", - "options": ["651", "659", "649", "641"], - "correctAnswers": ["651"], - "multipleAnswers": false, - "note": "Addition with carryover" - }, - { - "id": 9, - "type": "fill-in-the-blanks", - "question": "The boy __ his homework yesterday.", - "blanks": ["did"], - "note": "Verbs" - }, - { - "id": 10, - "type": "multiple-choice", - "question": "What is the smallest 4-digit number?", - "options": ["999", "1000", "1001", "9999"], - "correctAnswers": ["1000"], - "multipleAnswers": false, - "note": "Building numbers" - } - ] -} diff --git a/src/app/api/questions/Hard.json b/src/app/api/questions/Hard.json deleted file mode 100644 index 0e56cc6..0000000 --- a/src/app/api/questions/Hard.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "questions": [ - { - "id": 1, - "type": "multiple-choice", - "question": "What is 654 × 3?", - "options": ["1902", "1962", "1842", "1862"], - "correctAnswers": ["1962"], - "multipleAnswers": false, - "note": "Multiplication" - }, - { - "id": 2, - "type": "multiple-choice", - "question": "Which of these is NOT a proper noun?", - "options": ["London", "Car", "Monday", "Taj Mahal"], - "correctAnswers": ["Car"], - "multipleAnswers": false, - "note": "Common and Proper Nouns" - }, - { - "id": 4, - "type": "matching", - "question": "Match the synonyms", - "leftItems": ["Brave", "Quick"], - "rightItems": ["Courageous", "Fast"], - "correctMatches": { - "Brave": "Courageous", - "Quick": "Fast" - }, - "note": "Synonyms" - }, - { - "id": 5, - "type": "multiple-choice", - "question": "What is 923 - 567?", - "options": ["356", "366", "356", "346"], - "correctAnswers": ["356"], - "multipleAnswers": false, - "note": "Subtraction with borrowing" - }, - { - "id": 6, - "type": "fill-in-the-blanks", - "question": "A cube has __ faces.", - "blanks": ["6"], - "note": "Solid shapes" - }, - { - "id": 7, - "type": "multiple-choice", - "question": "Which is a pronoun?", - "options": ["He", "Run", "School", "Jump"], - "correctAnswers": ["He"], - "multipleAnswers": false, - "note": "Pronouns" - }, - { - "id": 8, - "type": "multiple-choice", - "question": "What is 432 + 219?", - "options": ["651", "659", "649", "641"], - "correctAnswers": ["651"], - "multipleAnswers": false, - "note": "Addition with carryover" - }, - { - "id": 9, - "type": "fill-in-the-blanks", - "question": "The boy __ his homework yesterday.", - "blanks": ["did"], - "note": "Verbs" - }, - { - "id": 10, - "type": "multiple-choice", - "question": "What is the smallest 4-digit number?", - "options": ["999", "1000", "1001", "9999"], - "correctAnswers": ["1000"], - "multipleAnswers": false, - "note": "Building numbers" - } - ] - } \ No newline at end of file diff --git a/src/app/api/questions/Medium.json b/src/app/api/questions/Medium.json deleted file mode 100644 index 5cd7a6b..0000000 --- a/src/app/api/questions/Medium.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "questions": [ - { - "id": 1, - "type": "fill-in-the-blanks", - "question": "The __ is a star that gives us light and heat.", - "blanks": ["sun"], - "note": "Vocabulary - Meaning" - }, - { - "id": 2, - "type": "multiple-choice", - "question": "Which of these is a proper noun?", - "options": ["City", "Ravi", "Dog", "Tree"], - "correctAnswers": ["Ravi"], - "multipleAnswers": false, - "note": "Common and Proper Nouns" - }, - { - "id": 3, - "type": "multiple-choice", - "question": "What is the opposite of 'soft'?", - "options": ["Hard", "Light", "Big", "Slow"], - "correctAnswers": ["Hard"], - "multipleAnswers": false, - "note": "Opposites" - }, - { - "id": 5, - "type": "matching", - "question": "Match the words with their meanings", - "leftItems": ["Tiny", "Fast"], - "rightItems": ["Small", "Quick"], - "correctMatches": { - "Tiny": "Small", - "Fast": "Quick" - }, - "note": "Synonyms" - }, - { - "id": 6, - "type": "fill-in-the-blanks", - "question": "There are __ apples in the basket.", - "blanks": ["some"], - "note": "Articles" - }, - { - "id": 7, - "type": "multiple-choice", - "question": "What is 234 + 123?", - "options": ["357", "346", "347", "365"], - "correctAnswers": ["357"], - "multipleAnswers": false, - "note": "Addition with carryover" - }, - { - "id": 8, - "type": "multiple-choice", - "question": "What is 762 - 345?", - "options": ["417", "412", "415", "420"], - "correctAnswers": ["417"], - "multipleAnswers": false, - "note": "Subtraction with borrowing" - }, - { - "id": 9, - "type": "multiple-choice", - "question": "What is 12 × 3?", - "options": ["36", "34", "35", "33"], - "correctAnswers": ["36"], - "multipleAnswers": false, - "note": "Multiplication" - }, - { - "id": 11, - "type": "fill-in-the-blanks", - "question": "The dog __ playing with the ball.", - "blanks": ["is"], - "note": "Verbs" - }, - { - "id": 12, - "type": "multiple-choice", - "question": "Which is a conjunction?", - "options": ["And", "Apple", "Run", "He"], - "correctAnswers": ["And"], - "multipleAnswers": false, - "note": "Conjunctions" - }, - { - "id": 13, - "type": "multiple-choice", - "question": "What comes before 500?", - "options": ["498", "499", "501", "502"], - "correctAnswers": ["499"], - "multipleAnswers": false, - "note": "Numerals and number names" - }, - { - "id": 14, - "type": "matching", - "question": "Match the shapes with their properties", - "leftItems": ["Sphere", "Cube"], - "rightItems": ["Round", "Six faces"], - "correctMatches": { - "Sphere": "Round", - "Cube": "Six faces" - }, - "note": "Solid shapes" - }, - { - "id": 15, - "type": "multiple-choice", - "question": "What is the face value of 3 in 345?", - "options": ["3", "30", "300", "3 and 30"], - "correctAnswers": ["3"], - "multipleAnswers": false, - "note": "Place value and face value" - } - ] -} diff --git a/src/app/api/questions/route.js b/src/app/api/questions/route.js deleted file mode 100644 index 9e613be..0000000 --- a/src/app/api/questions/route.js +++ /dev/null @@ -1,48 +0,0 @@ -export const dynamic = "force-dynamic"; -export const revalidate = 60; - -import { NextResponse } from 'next/server'; -import easyQuestions from './Easy.json'; -import mediumQuestions from './Medium.json'; -import hardQuestions from './Hard.json'; - -const questionsMap = { - easy: easyQuestions, - medium: mediumQuestions, - hard: hardQuestions, -}; - -export async function GET(request) { - const { searchParams } = new URL(request.url); - const type = searchParams.get('type'); - - if (!type || !questionsMap[type]) { - return NextResponse.json({ error: 'Valid quiz type is required (easy, medium, hard)' }, { status: 400 }); - } - - // Get the file name from the mapping - const fileContents = questionsMap[type]; - // const filePath = path.join(process.cwd(), 'src/app/api/questions', fileName); - - // try { - // await fs.access(filePath); // Check if the file exists - // } catch (error) { - // console.error(`File not found: ${filePath}`); - // return NextResponse.json({ error: 'Questions not found for this type' }, { status: 404 }); - // } -// console.log('fileContents: ', fileContents); - try { - // const fileContents = await fs.readFile(filePath, 'utf8'); // Read the file - // const data = JSON.parse(fileContents); // Parse the JSON - - if (!fileContents.questions || !Array.isArray(fileContents.questions)) { - console.error('Invalid questions data structure'); - return NextResponse.json({ error: 'Invalid questions data' }, { status: 500 }); - } - - return NextResponse.json(fileContents.questions); // Return the questions - } catch (error) { - console.error('Error reading or parsing questions file:', error); - return NextResponse.json({ error: 'Failed to load questions' }, { status: 500 }); - } -} \ No newline at end of file diff --git a/src/app/api/test/route.js b/src/app/api/test/route.js deleted file mode 100644 index 599f765..0000000 --- a/src/app/api/test/route.js +++ /dev/null @@ -1,9 +0,0 @@ -export const dynamic = "force-dynamic"; - -export async function GET(req) { - if (process.env.NEXT_PUBLIC_OUTPUT_MODE === 'export') { - return new Response(JSON.stringify({ error: "API not available in export mode" }), { status: 404 }); - } - // Your actual logic - return new Response(JSON.stringify({ questions: ["Q1", "Q2"] }), { status: 200 }); -} \ No newline at end of file diff --git a/src/app/components/Quiz.js b/src/app/components/Quiz.js index ad02cd5..1fe0958 100644 --- a/src/app/components/Quiz.js +++ b/src/app/components/Quiz.js @@ -23,11 +23,20 @@ export default function Quiz({ quizType, user, resetQuiz }) { setIsLoading(true); setError(null); try { - const response = await fetch(`/api/questions?type=${quizType}`); - if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`); + let data = []; + switch (quizType) { + case "easy": + data = require("./data/easy").questions.questions; + break; + case "medium": + data = require("./data/medium").questions.questions; + break; + case "hard": + data = require("./data/hard").questions; + break; + default: + data = []; } - const data = await response.json(); if (Array.isArray(data) && data.length > 0) { const shuffledQuestions = shuffleArray(data).slice(0, 15); diff --git a/src/app/components/data/easy.js b/src/app/components/data/easy.js new file mode 100644 index 0000000..2232249 --- /dev/null +++ b/src/app/components/data/easy.js @@ -0,0 +1,240 @@ +export const questions = { + questions: [ + { + id: 1, + type: "fill-in-the-blanks", + question: "I see __ orange on the table.", + blanks: [ + "an" + ], + note: "Articles" + }, + { + id: 2, + type: "fill-in-the-blanks", + question: "The cat is __ the box.", + blanks: [ + "in" + ], + note: "Prepositions" + }, + { + id: 3, + type: "multiple-choice", + question: "Which is a proper noun?", + options: [ + "dog", + "park", + "Monday", + "Mumbai" + ], + correctAnswers: [ + "Mumbai" + ], + multipleAnswers: false, + note: "Common and Proper Nouns" + }, + { + id: 5, + type: "matching", + question: "Match the word with its opposite", + leftItems: [ + "Big", + "Happy" + ], + rightItems: [ + "Small", + "Sad" + ], + correctMatches: { + Big: "Small", + Happy: "Sad" + }, + note: "Opposites" + }, + { + id: 6, + type: "fill-in-the-blanks", + question: "The bird is __ the tree.", + blanks: [ + "on" + ], + note: "Prepositions" + }, + { + id: 7, + type: "multiple-choice", + question: "What is 2 + 3?", + options: [ + "4", + "5", + "6", + "7" + ], + correctAnswers: [ + "5" + ], + multipleAnswers: false, + note: "Addition with carryover" + }, + { + id: 9, + type: "multiple-choice", + question: "Which shape has no corners?", + options: [ + "Square", + "Circle", + "Triangle", + "Rectangle" + ], + correctAnswers: [ + "Circle" + ], + multipleAnswers: false, + note: "Solid shapes" + }, + { + id: 10, + type: "fill-in-the-blanks", + question: "The __ is shining in the sky.", + blanks: [ + "sun" + ], + note: "Vocabulary - Meaning" + }, + { + id: 11, + type: "multiple-choice", + question: "What is the opposite of 'hot'?", + options: [ + "Cold", + "Warm", + "Cool", + "Dry" + ], + correctAnswers: [ + "Cold" + ], + multipleAnswers: false, + note: "Opposites" + }, + { + id: 12, + type: "matching", + question: "Match the animal with its home", + leftItems: [ + "Dog", + "Bird" + ], + rightItems: [ + "Nest", + "Kennel" + ], + correctMatches: { + Dog: "Kennel", + Bird: "Nest" + }, + note: "General knowledge" + }, + { + id: 13, + type: "multiple-choice", + question: "What is 5 × 3?", + options: [ + "8", + "12", + "15", + "18" + ], + correctAnswers: [ + "15" + ], + multipleAnswers: false, + note: "Multiplication" + }, + { + id: 14, + type: "multiple-choice", + question: "Which is a preposition?", + options: [ + "Tree", + "On", + "Fast", + "Happy" + ], + correctAnswers: [ + "On" + ], + multipleAnswers: false, + note: "Prepositions" + }, + { + id: 15, + type: "fill-in-the-blanks", + question: "The dog __ running fast.", + blanks: [ + "is" + ], + note: "Verbs" + }, + { + id: 16, + type: "matching", + question: "Match the shapes with their names", + leftItems: [ + "A square", + "A triangle" + ], + rightItems: [ + "Four sides", + "Three sides" + ], + correctMatches: { + "A square": "Four sides", + "A triangle": "Three sides" + }, + note: "Solid shapes" + }, + { + id: 17, + type: "multiple-choice", + question: "Which is a pronoun?", + options: [ + "She", + "Table", + "Blue", + "Run" + ], + correctAnswers: [ + "She" + ], + multipleAnswers: false, + note: "Pronouns" + }, + { + id: 18, + type: "fill-in-the-blanks", + question: "The boy and the girl are __ to school.", + blanks: [ + "going" + ], + note: "Verbs" + }, + { + id: 19, + type: "multiple-choice", + question: "What comes after 999?", + options: [ + "998", + "1000", + "1001", + "999" + ], + correctAnswers: [ + "1000" + ], + multipleAnswers: false, + note: "Numerals and number names" + } + ] +} diff --git a/src/app/components/data/hard.js b/src/app/components/data/hard.js new file mode 100644 index 0000000..370b2be --- /dev/null +++ b/src/app/components/data/hard.js @@ -0,0 +1,136 @@ +export const questions = { + questions: [ + { + id: 1, + type: "multiple-choice", + question: "What is 654 × 3?", + options: [ + "1902", + "1962", + "1842", + "1862" + ], + correctAnswers: [ + "1962" + ], + multipleAnswers: false, + note: "Multiplication" + }, + { + id: 2, + type: "multiple-choice", + question: "Which of these is NOT a proper noun?", + options: [ + "London", + "Car", + "Monday", + "Taj Mahal" + ], + correctAnswers: [ + "Car" + ], + multipleAnswers: false, + note: "Common and Proper Nouns" + }, + { + id: 4, + type: "matching", + question: "Match the synonyms", + leftItems: [ + "Brave", + "Quick" + ], + rightItems: [ + "Courageous", + "Fast" + ], + correctMatches: { + Brave: "Courageous", + Quick: "Fast" + }, + note: "Synonyms" + }, + { + id: 5, + type: "multiple-choice", + question: "What is 923 - 567?", + options: [ + "356", + "366", + "356", + "346" + ], + correctAnswers: [ + "356" + ], + multipleAnswers: false, + note: "Subtraction with borrowing" + }, + { + id: 6, + type: "fill-in-the-blanks", + question: "A cube has __ faces.", + blanks: [ + "6" + ], + note: "Solid shapes" + }, + { + id: 7, + type: "multiple-choice", + question: "Which is a pronoun?", + options: [ + "He", + "Run", + "School", + "Jump" + ], + correctAnswers: [ + "He" + ], + multipleAnswers: false, + note: "Pronouns" + }, + { + id: 8, + type: "multiple-choice", + question: "What is 432 + 219?", + options: [ + "651", + "659", + "649", + "641" + ], + correctAnswers: [ + "651" + ], + multipleAnswers: false, + note: "Addition with carryover" + }, + { + id: 9, + type: "fill-in-the-blanks", + question: "The boy __ his homework yesterday.", + blanks: [ + "did" + ], + note: "Verbs" + }, + { + id: 10, + type: "multiple-choice", + question: "What is the smallest 4-digit number?", + options: [ + "999", + "1000", + "1001", + "9999" + ], + correctAnswers: [ + "1000" + ], + multipleAnswers: false, + note: "Building numbers" + } + ] +}; \ No newline at end of file diff --git a/src/app/components/data/medium.js b/src/app/components/data/medium.js new file mode 100644 index 0000000..c0fd4cf --- /dev/null +++ b/src/app/components/data/medium.js @@ -0,0 +1,195 @@ +export const questions = { + questions: [ + { + id: 1, + type: "fill-in-the-blanks", + question: "The __ is a star that gives us light and heat.", + blanks: [ + "sun" + ], + note: "Vocabulary - Meaning" + }, + { + id: 2, + type: "multiple-choice", + question: "Which of these is a proper noun?", + options: [ + "City", + "Ravi", + "Dog", + "Tree" + ], + correctAnswers: [ + "Ravi" + ], + multipleAnswers: false, + note: "Common and Proper Nouns" + }, + { + id: 3, + type: "multiple-choice", + question: "What is the opposite of 'soft'?", + options: [ + "Hard", + "Light", + "Big", + "Slow" + ], + correctAnswers: [ + "Hard" + ], + multipleAnswers: false, + note: "Opposites" + }, + { + id: 5, + type: "matching", + question: "Match the words with their meanings", + leftItems: [ + "Tiny", + "Fast" + ], + rightItems: [ + "Small", + "Quick" + ], + correctMatches: { + Tiny: "Small", + Fast: "Quick" + }, + note: "Synonyms" + }, + { + id: 6, + type: "fill-in-the-blanks", + question: "There are __ apples in the basket.", + blanks: [ + "some" + ], + note: "Articles" + }, + { + id: 7, + type: "multiple-choice", + question: "What is 234 + 123?", + options: [ + "357", + "346", + "347", + "365" + ], + correctAnswers: [ + "357" + ], + multipleAnswers: false, + note: "Addition with carryover" + }, + { + id: 8, + type: "multiple-choice", + question: "What is 762 - 345?", + options: [ + "417", + "412", + "415", + "420" + ], + correctAnswers: [ + "417" + ], + multipleAnswers: false, + note: "Subtraction with borrowing" + }, + { + id: 9, + type: "multiple-choice", + question: "What is 12 × 3?", + options: [ + "36", + "34", + "35", + "33" + ], + correctAnswers: [ + "36" + ], + multipleAnswers: false, + note: "Multiplication" + }, + { + id: 11, + type: "fill-in-the-blanks", + question: "The dog __ playing with the ball.", + blanks: [ + "is" + ], + note: "Verbs" + }, + { + id: 12, + type: "multiple-choice", + question: "Which is a conjunction?", + options: [ + "And", + "Apple", + "Run", + "He" + ], + correctAnswers: [ + "And" + ], + multipleAnswers: false, + note: "Conjunctions" + }, + { + id: 13, + type: "multiple-choice", + question: "What comes before 500?", + options: [ + "498", + "499", + "501", + "502" + ], + correctAnswers: [ + "499" + ], + multipleAnswers: false, + note: "Numerals and number names" + }, + { + id: 14, + type: "matching", + question: "Match the shapes with their properties", + leftItems: [ + "Sphere", + "Cube" + ], + rightItems: [ + "Round", + "Six faces" + ], + correctMatches: { + Sphere: "Round", + Cube: "Six faces" + }, + note: "Solid shapes" + }, + { + id: 15, + type: "multiple-choice", + question: "What is the face value of 3 in 345?", + options: [ + "3", + "30", + "300", + "3 and 30" + ], + correctAnswers: [ + "3" + ], + multipleAnswers: false, + note: "Place value and face value" + } + ] +}