{ // === METADATA SECTION === // Core module identification and language configuration "id": "english_class_demo_complete_example", // Unique ID based on name (lowercase, underscores) "name": "English Class Demo - Complete Example", "description": "Comprehensive example showcasing all content structure possibilities", "difficulty": 6, // Scale 1-10: 1=absolute beginner, 10=native level "original_lang": "english", // Language of the original content "user_lang": "french", // User's native language for translations "icon": "assets/icons/uk-flag.svg", // Path to icon file "icon_fallback": "🇬🇧", // Emoji fallback if file missing // === SYSTEM TAGS === // Categorization for content discovery and filtering "tags": [ "beginner-friendly", // Suitable for beginners "audio-rich", // Contains significant audio content "grammar-focus", // Emphasizes grammar learning "cultural-content", // Includes cultural context "interactive", // Has interactive exercises "daily-life", // Real-world applicable content "conversation", // Dialogue-based learning "multimedia" // Multiple content types (text, audio, visual) ], // === SKILLS COVERED === // Learning objectives and competencies addressed "skills_covered": [ "vocabulary_recognition", // Identifying and understanding words "vocabulary_production", // Using words correctly in context "listening_comprehension", // Understanding spoken language "reading_comprehension", // Understanding written text "pronunciation", // Correct sound production "grammar_application", // Using grammar rules correctly "cultural_awareness", // Understanding cultural context "conversation_skills", // Interactive dialogue ability "translation", // Converting between languages "pattern_recognition", // Identifying linguistic patterns "error_correction", // Identifying and fixing mistakes "audio_discrimination" // Distinguishing between sounds ], // === VOCABULARY SECTION === // Multiple levels of vocabulary completion from minimal to comprehensive "vocabulary": { // === MINIMAL LEVEL (Translation only) === // Simplest form - just word and translation "cat": "chat", "dog": "chien", "house": "maison", // === BASIC LEVEL (Essential data) === // Translation + type "book": { "translation": "livre", "type": "noun" }, "read": { "translation": "lire", "type": "verb" }, // === MEDIUM LEVEL (Common teaching elements) === // Translation + type + pronunciation OR image "apple": { "translation": "pomme", "type": "noun", "pronunciation": "/ˈÊp.əl/", "image": "images/vocabulary/apple.jpg" // Visual representation }, "beautiful": { "translation": "beau/belle", "type": "adjective", "pronunciation": "/ˈbjuː.tÉȘ.fəl/", "examples": ["The sunset is beautiful"] // Single example }, // === RICH LEVEL (Audio + visual) === // Multiple media types for enhanced learning "elephant": { "translation": "Ă©lĂ©phant", "type": "noun", "pronunciation": "/ˈel.ÉȘ.fənt/", "audio": "audio/vocabulary/elephant.mp3", "image": "images/vocabulary/elephant.jpg", "examples": [ "The elephant is huge", "Elephants have good memory" ] }, // === COMPREHENSIVE LEVEL (Full linguistic data) === // All possible fields for maximum educational value "run": { "translation": "courir", "type": "verb", "pronunciation": "/rʌn/", "audio": "audio/vocabulary/run.mp3", "image": "images/vocabulary/run_action.gif", // Can be GIF for actions "examples": [ "I run in the park every morning", "She runs faster than me", "They ran to catch the bus" ], "grammarNotes": "Irregular verb: run/runs/running/ran/run", "conjugation": { "present": ["run", "runs"], "past": "ran", "participle": "run", "continuous": "running" }, "difficulty_context": "Physical action verb - easy to demonstrate" }, // === ADVANCED LEVEL (Cultural and contextual) === "breakfast": { "translation": "petit-dĂ©jeuner", "type": "noun", "pronunciation": "/ˈbrek.fəst/", "audio": "audio/vocabulary/breakfast.mp3", "image": "images/vocabulary/breakfast.jpg", "examples": [ "I have breakfast at 7 AM", "What did you have for breakfast?", "Breakfast is the most important meal" ], "cultural_note": "Traditional English breakfast includes eggs, bacon, beans, and toast" } }, // === GRAMMAR SYSTEM === // Step-by-step grammar lessons with explanation -> exercise -> explanation -> exercise flow "grammar": { "present_simple_be": { "id": "present_simple_be", "title": "Present Simple - Verb 'to be'", "difficulty": 3, "prerequisite": null, // No prerequisite - foundational lesson "estimated_time": 15, // minutes "learning_objectives": [ "Conjugate 'to be' in present tense", "Use 'to be' in affirmative sentences", "Form questions with 'to be'" ], // Sequential steps: explanation -> exercise -> explanation -> exercise "steps": [ { "type": "explanation", "order": 1, "title": "Introduction to 'be'", "content": "The verb 'to be' is the most important verb in English. It has three forms in present tense.", "translation": "Le verbe 'ĂȘtre' est le verbe le plus important en anglais. Il a trois formes au prĂ©sent.", "examples": [ { "original": "I am happy", "userLanguage": "Je suis heureux" }, { "original": "You are smart", "userLanguage": "Tu es intelligent" }, { "original": "She is tall", "userLanguage": "Elle est grande" } ] }, { "type": "exercise", "order": 2, "exercise_type": "multiple_choice", "title": "Choose the correct form", "questions": [ { "question": "I ___ a student", "options": ["am", "is", "are"], "correct": "am", "explanation": "Use 'am' with 'I'" }, { "question": "She ___ my friend", "options": ["am", "is", "are"], "correct": "is", "explanation": "Use 'is' with 'she', 'he', 'it'" }, { "question": "They ___ teachers", "options": ["am", "is", "are"], "correct": "are", "explanation": "Use 'are' with 'they', 'we', 'you'" } ] }, { "type": "explanation", "order": 3, "title": "Negative forms", "content": "To make negative sentences with 'be', add 'not' after the verb. We often use contractions.", "translation": "Pour faire des phrases nĂ©gatives avec 'ĂȘtre', ajoutez 'not' aprĂšs le verbe. On utilise souvent des contractions.", "examples": [ { "original": "I am not tired", "userLanguage": "Je ne suis pas fatiguĂ©", "contraction": "I'm not tired" }, { "original": "He is not here", "userLanguage": "Il n'est pas ici", "contraction": "He isn't here" }, { "original": "We are not ready", "userLanguage": "Nous ne sommes pas prĂȘts", "contraction": "We aren't ready" } ] }, { "type": "exercise", "order": 4, "exercise_type": "transformation", "title": "Make these sentences negative", "questions": [ { "original": "I am busy", "correct": "I am not busy", "alternative_correct": ["I'm not busy"] }, { "original": "She is happy", "correct": "She is not happy", "alternative_correct": ["She isn't happy"] }, { "original": "They are at home", "correct": "They are not at home", "alternative_correct": ["They aren't at home"] } ] }, { "type": "explanation", "order": 5, "title": "Questions with 'be'", "content": "To make questions, put the 'be' verb before the subject. The word order changes.", "translation": "Pour faire des questions, mettez le verbe 'ĂȘtre' avant le sujet. L'ordre des mots change.", "pattern": { "statement": "Subject + be + complement", "question": "Be + subject + complement + ?" }, "examples": [ { "statement": "You are ready", "question": "Are you ready?", "answer": "Yes, I am / No, I'm not" }, { "statement": "He is a doctor", "question": "Is he a doctor?", "answer": "Yes, he is / No, he isn't" } ] }, { "type": "exercise", "order": 6, "exercise_type": "transformation", "title": "Transform to questions", "questions": [ { "original": "You are tired", "correct": "Are you tired?" }, { "original": "She is a teacher", "correct": "Is she a teacher?" }, { "original": "They are students", "correct": "Are they students?" } ] }, { "type": "exercise", "order": 7, "exercise_type": "fill_blanks", "title": "Complete the conversation", "context": "A conversation between two people meeting for the first time", "questions": [ { "sentence": "Hi! ___ you a new student?", "correct": "Are", "options": ["Are", "Is", "Am"] }, { "sentence": "Yes, I ___. My name ___ Sarah.", "correct": ["am", "is"], "options": ["am/is", "is/am", "are/are"] }, { "sentence": "___ you from France?", "correct": "Are", "options": ["Are", "Is", "Am"] } ] } ], // Summary and reinforcement "summary": { "key_points": [ "I am, you are, he/she/it is, we are, they are", "Negative: add 'not' after 'be'", "Questions: put 'be' before subject" ], "common_mistakes": [ { "incorrect": "I are happy", "correct": "I am happy", "explanation": "Use 'am' with 'I'" }, { "incorrect": "She am tired", "correct": "She is tired", "explanation": "Use 'is' with 'she'" } ] } }, "present_simple_verbs": { "id": "present_simple_verbs", "title": "Present Simple - Regular Verbs", "difficulty": 4, "prerequisite": "present_simple_be", // Must complete 'be' lesson first "estimated_time": 20, "learning_objectives": [ "Use present simple for habits and facts", "Add 's' for he/she/it", "Form negatives with don't/doesn't" ], "steps": [ { "type": "explanation", "order": 1, "title": "Present Simple usage", "content": "We use present simple for habits, routines, facts, and things that are always true.", "translation": "Nous utilisons le prĂ©sent simple pour les habitudes, routines, faits, et choses toujours vraies.", "examples": [ { "original": "I work every day", "userLanguage": "Je travaille tous les jours", "usage": "routine" }, { "original": "The sun rises in the east", "userLanguage": "Le soleil se lĂšve Ă  l'est", "usage": "fact" }, { "original": "She likes coffee", "userLanguage": "Elle aime le cafĂ©", "usage": "preference" } ] }, { "type": "exercise", "order": 2, "exercise_type": "classification", "title": "Is it a habit, fact, or preference?", "questions": [ { "sentence": "I eat breakfast at 8 AM", "correct": "habit", "options": ["habit", "fact", "preference"] }, { "sentence": "Water boils at 100°C", "correct": "fact", "options": ["habit", "fact", "preference"] }, { "sentence": "He loves music", "correct": "preference", "options": ["habit", "fact", "preference"] } ] }, { "type": "explanation", "order": 3, "title": "Third person singular (he/she/it + s)", "content": "With he, she, it, add 's' to the verb. This is very important in English!", "translation": "Avec he, she, it, ajoutez 's' au verbe. C'est trĂšs important en anglais!", "rules": [ { "rule": "Normal verbs: add 's'", "example": "work → works, play → plays" }, { "rule": "Verbs ending in s,x,ch,sh: add 'es'", "example": "watch → watches, fix → fixes" }, { "rule": "Verbs ending in consonant + y: change y to ies", "example": "study → studies, try → tries" } ], "examples": [ { "original": "I work in London", "userLanguage": "Je travaille Ă  Londres" }, { "original": "She works in London", "userLanguage": "Elle travaille Ă  Londres" } ] }, { "type": "exercise", "order": 4, "exercise_type": "conjugation", "title": "Add 's' when needed", "questions": [ { "sentence": "He ___ (play) football", "correct": "plays", "base_verb": "play" }, { "sentence": "She ___ (watch) TV", "correct": "watches", "base_verb": "watch" }, { "sentence": "It ___ (fly) in the sky", "correct": "flies", "base_verb": "fly" } ] } ], "summary": { "key_points": [ "Present simple = habits, facts, preferences", "He/she/it + verb + s", "I/you/we/they + base verb" ], "common_mistakes": [ { "incorrect": "She work here", "correct": "She works here", "explanation": "Add 's' with he/she/it" } ] } } }, // === TEXT CONTENT SECTION === // All text-based content with optional question/exercise metadata "texts": [ { "title": "My Daily Routine", "content": "I wake up at 7 AM every day. First, I brush my teeth and take a shower. Then I have breakfast with my family. After breakfast, I go to work by bus. I work from 9 AM to 5 PM. In the evening, I cook dinner and watch TV. I go to bed at 10 PM.", "translation": "Je me rĂ©veille Ă  7h tous les jours. D'abord, je me brosse les dents et prends une douche. Ensuite je prends le petit dĂ©jeuner avec ma famille. AprĂšs le petit dĂ©jeuner, je vais au travail en bus. Je travaille de 9h Ă  17h. Le soir, je cuisine le dĂźner et regarde la tĂ©lĂ©. Je me couche Ă  22h.", // Optional: Add comprehension questions to any text "questions": [ { "question": "What time does the person wake up?", "type": "multiple_choice", "options": ["6 AM", "7 AM", "8 AM", "9 AM"], "correctAnswer": "7 AM" }, { "question": "Describe the person's evening routine", "type": "ai_interpreted", "evaluationPrompt": "Check if answer mentions cooking dinner and watching TV" } ] }, { "title": "The Four Seasons", "content": "There are four seasons in a year: spring, summer, autumn, and winter. Spring is warm and flowers bloom. Summer is hot and sunny. Autumn is cool and leaves change colors. Winter is cold and it sometimes snows.", "translation": "Il y a quatre saisons dans une annĂ©e: le printemps, l'Ă©tĂ©, l'automne et l'hiver. Le printemps est chaud et les fleurs fleurissent. L'Ă©tĂ© est chaud et ensoleillĂ©. L'automne est frais et les feuilles changent de couleur. L'hiver est froid et il neige parfois.", // Optional: Add fill-in-the-blank exercises to any text "fillInBlanks": [ { "sentence": "There are _____ seasons in a year", "options": ["three", "four", "five", "six"], "correctAnswer": "four", "explanation": "Spring, summer, autumn, and winter make four seasons" }, { "sentence": "Spring is _____ and flowers bloom", "type": "open_ended", "acceptedAnswers": ["warm", "nice", "pleasant", "mild"], "aiPrompt": "Check if answer describes spring weather positively" } ] } ], // === AUDIO-ONLY CONTENT === // Pure listening exercises WITHOUT text/transcript (text-based audio goes in texts/dialogues) "audio": [ { "title": "Mystery Conversation - Restaurant", "audioFile": "audio/listening/restaurant_sounds.mp3", "type": "ambient_listening", "questions": [ { "question": "Where does this conversation take place?", "type": "multiple_choice", "options": ["Restaurant", "Office", "School", "Park"], "correctAnswer": "Restaurant" }, { "question": "How many people are speaking?", "type": "ai_interpreted", "evaluationPrompt": "Accept numeric answers indicating number of distinct voices" } ] }, { "title": "Sound Recognition", "audioFile": "audio/sounds/morning_routine.mp3", "type": "sound_identification", "description": "Listen and identify the morning routine sounds", "questions": [ { "question": "What sounds did you hear?", "type": "ai_interpreted", "evaluationPrompt": "Check for mentions of alarm, shower, coffee, breakfast sounds" } ] }, { "title": "Pronunciation Discrimination", "audioFile": "audio/pronunciation/minimal_pairs.mp3", "type": "pronunciation_exercise", "description": "Listen to similar sounding words and identify differences", "word_pairs": [ ["ship", "sheep"], ["live", "leave"], ["cat", "cut"] ] } ], // === CULTURAL CONTENT === // Rich cultural material with context and educational value "cultural": { // Poetry and literary works "poems": [ { "title": "Roses Are Red", "content": "Roses are red,\nViolets are blue,\nSugar is sweet,\nAnd so are you.", "translation": "Les roses sont rouges,\nLes violettes sont bleues,\nLe sucre est doux,\nEt toi aussi.", "audio": "audio/poems/roses.mp3", "image": "images/cultural/roses_poem_illustration.jpg", "type": "nursery_rhyme", "cultural_context": "Traditional English nursery rhyme pattern, often used to teach basic rhyming and poetry structure to children.", "learning_focus": ["rhyme_patterns", "basic_vocabulary", "rhythm"] } ], // Proverbs and sayings "proverbs": [ { "original": "The early bird catches the worm", "userLanguage": "L'avenir appartient Ă  ceux qui se lĂšvent tĂŽt", "meaning": "People who wake up early and start working have better chances of success", "image": "images/cultural/early_bird_illustration.jpg", "cultural_context": "Common English saying emphasizing the value of being proactive and starting early", "equivalent_proverbs": { "french": "L'avenir appartient Ă  ceux qui se lĂšvent tĂŽt", "literal": "Le premier oiseau attrape le ver" } } ], // Cultural facts - unified system for traditions, holidays, food, etc. "culture_facts": [ { "name": "Tea Time", "category": "tradition", "description": "Traditional British custom of drinking tea in the afternoon, usually around 4 PM", "translation": "L'heure du thĂ© - tradition britannique de boire le thĂ© l'aprĂšs-midi, gĂ©nĂ©ralement vers 16h", "image": "images/cultural/tea_time.jpg", "cultural_significance": "Social ritual that brings people together, often includes biscuits or small cakes", "vocabulary_related": ["tea", "biscuit", "afternoon", "tradition", "social"], "region": "uk" }, { "name": "Christmas", "category": "holiday", "date": "December 25th", "description": "Major Christian holiday celebrating the birth of Jesus Christ", "translation": "NoĂ«l - grande fĂȘte chrĂ©tienne cĂ©lĂ©brant la naissance de JĂ©sus-Christ", "image": "images/cultural/christmas_celebration.jpg", "customs": ["gift_giving", "family_gatherings", "christmas_tree", "caroling"], "vocabulary_related": ["Christmas", "gift", "tree", "family", "celebration"], "region": "global" }, { "name": "Fish and Chips", "category": "food", "description": "Traditional British dish of battered fish with fried potatoes", "translation": "Poisson-frites - plat britannique traditionnel de poisson en pĂąte avec des pommes de terre frites", "image": "images/cultural/fish_and_chips.jpg", "cultural_context": "Popular working-class meal, often served in newspaper wrapping", "vocabulary_related": ["fish", "chips", "batter", "traditional", "popular"], "region": "uk", "ingredients": ["fish", "potatoes", "batter", "oil"], "typical_sides": ["mushy_peas", "tartar_sauce", "malt_vinegar"] }, { "name": "Thanksgiving", "category": "holiday", "date": "Fourth Thursday in November", "description": "American holiday celebrating gratitude and harvest", "translation": "Action de grĂące - fĂȘte amĂ©ricaine cĂ©lĂ©brant la gratitude et la rĂ©colte", "image": "images/cultural/thanksgiving_dinner.jpg", "customs": ["family_dinner", "turkey_meal", "gratitude_sharing", "football_watching"], "vocabulary_related": ["thanksgiving", "turkey", "grateful", "harvest", "family"], "region": "us" } ] }, // === SENTENCES WITH CORRECTION PARAMETERS === // Generic sentence structure that can be used for various exercises including corrections "sentences": [ { "original": "Hello, how are you?", "userLanguage": "Bonjour, comment allez-vous?", "type": "greeting", "formality": "neutral" }, { "original": "I like to read books", "userLanguage": "J'aime lire des livres", "type": "preference_statement", "tense": "present_simple" }, { "original": "The weather is nice today", "userLanguage": "Il fait beau aujourd'hui", "type": "observation", "topic": "weather" }, // Sentences specifically for correction exercises { "original": "I am happy today", // Correct version "userLanguage": "Je suis heureux aujourd'hui", "type": "correction_target", "correction_data": { "incorrect_versions": [ { "text": "I are happy today", "error_type": "subject_verb_agreement", "explanation": "Use 'am' with pronoun 'I', not 'are'", "difficulty": 2 }, { "text": "I is happy today", "error_type": "subject_verb_agreement", "explanation": "Use 'am' with pronoun 'I', not 'is'", "difficulty": 1 } ], "grammar_focus": "be_verb_conjugation", "common_mistake": true } }, { "original": "She doesn't like apples", // Correct version "userLanguage": "Elle n'aime pas les pommes", "type": "correction_target", "correction_data": { "incorrect_versions": [ { "text": "She don't like apples", "error_type": "subject_verb_agreement", "explanation": "Use 'doesn't' with he/she/it, not 'don't'", "difficulty": 3 }, { "text": "She not like apples", "error_type": "auxiliary_verb_missing", "explanation": "Need auxiliary verb 'doesn't' for negative statements", "difficulty": 4 } ], "grammar_focus": "negative_present_simple", "common_mistake": true } }, { "original": "I can swim", // Correct version "userLanguage": "Je sais nager", "type": "correction_target", "correction_data": { "incorrect_versions": [ { "text": "I can to swim", "error_type": "infinitive_after_modal", "explanation": "After modal verbs like 'can', use base form without 'to'", "difficulty": 5 } ], "grammar_focus": "modal_verbs", "common_mistake": true } } ], // === MATCHING EXERCISES === // Connect-the-lines style exercises "matching": [ { "title": "Match Animals to Their Sounds", "type": "two_column_matching", "leftColumn": ["Cat", "Dog", "Cow", "Bird"], "rightColumn": ["Woof", "Meow", "Tweet", "Moo"], "correctPairs": [ { "left": "Cat", "right": "Meow" }, { "left": "Dog", "right": "Woof" }, { "left": "Cow", "right": "Moo" }, { "left": "Bird", "right": "Tweet" } ] }, { "title": "Match Colors in English and French", "type": "two_column_matching", "leftColumn": ["Red", "Blue", "Green", "Yellow"], "rightColumn": ["Bleu", "Vert", "Rouge", "Jaune"], "correctPairs": [ { "left": "Red", "right": "Rouge" }, { "left": "Blue", "right": "Bleu" }, { "left": "Green", "right": "Vert" }, { "left": "Yellow", "right": "Jaune" } ] }, { "title": "Build Correct Sentences", "type": "multi_column_matching", "columns": [ { "id": 1, "name": "Subject", "items": ["I", "She", "They", "We"] }, { "id": 2, "name": "Verb", "items": ["am", "is", "are", "are"] }, { "id": 3, "name": "Complement", "items": ["happy", "a teacher", "students", "friends"] } ], "valid_combinations": [ {"1": "I", "2": "am", "3": "happy"}, {"1": "I", "2": "am", "3": "a teacher"}, {"1": "She", "2": "is", "3": "happy"}, {"1": "She", "2": "is", "3": "a teacher"}, {"1": "They", "2": "are", "3": "students"}, {"1": "They", "2": "are", "3": "friends"}, {"1": "We", "2": "are", "3": "students"}, {"1": "We", "2": "are", "3": "friends"} ] }, { "title": "Match Country Information", "type": "multi_column_matching", "columns": [ { "id": 1, "name": "Country", "items": ["France", "Spain", "Italy", "Germany"] }, { "id": 2, "name": "Capital", "items": ["Paris", "Madrid", "Rome", "Berlin"] }, { "id": 3, "items": ["French", "Spanish", "Italian", "German"] } ], "valid_combinations": [ {"1": "France", "2": "Paris", "3": "French"}, {"1": "Spain", "2": "Madrid", "3": "Spanish"}, {"1": "Italy", "2": "Rome", "3": "Italian"}, {"1": "Germany", "2": "Berlin", "3": "German"} ] } ], // === DIALOGUES === // Structured conversations between speakers (text with audio goes here, not in audio section) "dialogues": [ { "title": "At the Restaurant", "conversation": [ { "speaker": "Waiter", "original": "Good evening! Welcome to our restaurant.", "userLanguage": "Bonsoir! Bienvenue dans notre restaurant." }, { "speaker": "Customer", "original": "Thank you. Can I see the menu please?", "userLanguage": "Merci. Puis-je voir le menu s'il vous plaĂźt?" }, { "speaker": "Waiter", "original": "Of course! Here you are. What would you like to drink?", "userLanguage": "Bien sĂ»r! Voici. Que voulez-vous boire?" } ] }, { "title": "Daily Routine Conversation", "audio": "audio/conversations/daily_routine.mp3", // Audio WITH text belongs here "conversation": [ { "speaker": "A", "original": "What time do you wake up?", "userLanguage": "À quelle heure te rĂ©veilles-tu?", "timestamp": 0.5 }, { "speaker": "B", "original": "I usually wake up at 7 AM.", "userLanguage": "Je me rĂ©veille habituellement Ă  7h.", "timestamp": 3.2 }, { "speaker": "A", "original": "That's early! I wake up at 8:30.", "userLanguage": "C'est tĂŽt! Je me rĂ©veille Ă  8h30.", "timestamp": 6.8 }, { "speaker": "B", "original": "I like to exercise before work.", "userLanguage": "J'aime faire de l'exercice avant le travail.", "timestamp": 11.1 }, { "speaker": "A", "original": "That's a good habit!", "userLanguage": "C'est une bonne habitude!", "timestamp": 14.5 } ] } ] }