Noor Admin

Content Creator — Sign in with your admin account

OR

Noor Admin — Content Creator

📋 How to generate game files with AI — copy this prompt

Copy the prompt below into Claude or ChatGPT. Replace the [bracketed] parts with your topic. Save the output as a .json file and upload it below.

Create a JSON game file for the Noor Islamic learning app. Output ONLY valid JSON, no other text.

TOPIC: [e.g., "The Five Pillars of Islam"]
MODULE: [worship | quran | history | prophets]
ENGINE TYPE: [tap-to-select | rapid-fire-true-false | drag-to-position | fill-in-blank | connect-pairs | progressive-reveal | categorical-sort | swipe-binary]

Use this EXACT JSON structure:

{
  "gameId": "kebab-case-slug",
  "title": { "en": "English Title", "ar": "العنوان بالعربية" },
  "description": { "en": "Short description", "ar": "وصف قصير" },
  "module": "[worship|quran|history|prophets]",
  "engineType": "[engine-type]",
  "icon": "🕌",
  "itemsPerRound": 5,
  "passage": {
    "en": "A comprehensive passage covering ALL facts needed to answer EVERY question below. Include specific names, dates, numbers, and details.",
    "ar": "نص شامل يغطي جميع الحقائق اللازمة للإجابة على كل سؤال أدناه."
  },
  "questions": [
    ... questions here based on engine type ...
  ]
}

QUESTION FORMAT for tap-to-select:
{
  "difficulty": "easy|medium|hard",
  "prompt": { "en": "Question?", "ar": "السؤال؟" },
  "options": [
    { "id": "a", "label": { "en": "Option A", "ar": "الخيار أ" } },
    { "id": "b", "label": { "en": "Option B", "ar": "الخيار ب" } },
    { "id": "c", "label": { "en": "Option C", "ar": "الخيار ج" } },
    { "id": "d", "label": { "en": "Option D", "ar": "الخيار د" } }
  ],
  "correctOptionId": "a",
  "explanation": { "en": "Why this is correct", "ar": "لماذا هذه الإجابة صحيحة" },
  "source": { "type": "quran|hadith|historical|scholarly", "reference": "Surah Al-Baqarah 2:255" }
}

QUESTION FORMAT for rapid-fire-true-false:
{
  "difficulty": "easy|medium|hard",
  "statement": { "en": "Statement", "ar": "العبارة" },
  "isTrue": true,
  "explanation": { "en": "Why", "ar": "لماذا" },
  "source": { "type": "quran|hadith|historical|scholarly", "reference": "Reference" }
}

QUESTION FORMAT for drag-to-position:
{
  "difficulty": "easy|medium|hard",
  "prompt": { "en": "Arrange in order", "ar": "رتب بالترتيب" },
  "pieces": [
    { "id": "1", "label": { "en": "First item", "ar": "العنصر الأول" } },
    { "id": "2", "label": { "en": "Second item", "ar": "العنصر الثاني" } }
  ],
  "correctOrder": ["1", "2"],
  "explanation": { "en": "The correct order is...", "ar": "الترتيب الصحيح هو..." },
  "source": { "type": "historical", "reference": "Ibn Kathir, Al-Bidaya wan-Nihaya" }
}

QUESTION FORMAT for fill-in-blank:
{
  "difficulty": "easy|medium|hard",
  "contextLabel": { "en": "Surah Al-Fatiha (1:2)", "ar": "سورة الفاتحة (١:٢)" },
  "fullText": { "en": "Complete sentence", "ar": "الجملة الكاملة" },
  "displayText": { "en": "Sentence with _____", "ar": "الجملة مع _____" },
  "blankAnswer": { "en": "missing word", "ar": "الكلمة المفقودة" },
  "distractors": [
    { "en": "wrong1", "ar": "خطأ١" },
    { "en": "wrong2", "ar": "خطأ٢" }
  ],
  "source": { "type": "quran", "reference": "Al-Fatiha 1:2" }
}

QUESTION FORMAT for connect-pairs:
{
  "difficulty": "easy|medium|hard",
  "prompt": { "en": "Match the items", "ar": "طابق العناصر" },
  "leftItems": [
    { "id": "l1", "label": { "en": "Left 1", "ar": "يسار ١" } }
  ],
  "rightItems": [
    { "id": "r1", "label": { "en": "Right 1", "ar": "يمين ١" } }
  ],
  "connections": [{ "leftId": "l1", "rightId": "r1" }],
  "explanation": { "en": "...", "ar": "..." },
  "source": { "type": "historical", "reference": "..." }
}

RULES:
- Include 5 easy, 5 medium, 5 hard questions (15 total)
- EVERY question MUST have a source with type and reference
- Source types: "quran" (Surah + ayah), "hadith" (collection + number), "historical" (scholar + book), "scholarly" (consensus)
- The passage MUST contain all facts needed to answer every question
- Easy = a child could answer after reading the passage
- Hard = requires careful attention to details
- Arabic translations must be accurate and natural
- Quranic text must be letter-perfect
- No fabricated hadith — only sahih/hasan from Bukhari, Muslim, Abu Dawud, Tirmidhi, etc.
- Output ONLY the JSON object, no markdown, no explanation
Quick topic ideas: Five Pillars of Islam Prophet Yusuf's Story Battle of Uhud 99 Names of Allah Wudu Steps Abbasid Golden Age
📤
Drop JSON files here or click to browse
Upload one or more .json game files generated from the AI prompt above

Game Browser

Status
Modules
Loading games…

Modules

Firestore Rules Notice: Client writes to the games collection may be blocked by security rules. Before publishing, ensure your Firestore rules allow writes for authenticated admin users. Example rule:
match /games/{gameId} { allow write: if request.auth != null; }
1 Basic Info
2 Passage
3 Questions
4 Difficulty
5 Preview & Publish

Basic Info

Auto-generated from title. Edit if needed.
Controls who sees this game based on their mode setting.
New games default to Draft. Promote through review before publishing.

Passage (Optional)

A reading passage shown before the game starts. Leave blank if not needed.

Illustrations (Optional)

Add images to display with the passage. Uploaded to Firebase Storage.

Questions / Items

Difficulty Assignment

Assign each question to a difficulty level. Questions default to "medium" if unassigned.

Preview & Publish

JSON Data
Generating preview…