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

All Games

Loading games…
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.
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

Generating preview…