Skip to content

pablollorens/vocabulary-trainer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

39 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ Vocabulary Trainer

An interactive, multilingual vocabulary training application designed for children. Features timed sessions, multiple exercise types, progress tracking, and customizable vocabulary sets.

Version License Languages

โœจ Features

  • ๐ŸŒ Multilingual: Full support for Dutch (NL), Spanish (ES), and English (EN)
  • ๐ŸŽฏ Multiple Exercise Types:
    • Multiple Choice
    • Fill in the Blank
    • Matching Pairs
    • True/False
  • โฑ๏ธ Flexible Goals:
    • Time-based sessions (1-60 minutes)
    • Exercise-based sessions (10-100 questions)
  • ๐Ÿ“Š Progress Tracking:
    • Real-time statistics
    • Score percentage
    • Timer display
  • ๐ŸŽจ Kid-Friendly Design:
    • Clean, modern interface
    • Color-coded feedback
    • Emoji-based achievement levels
  • ๐Ÿ“ Customizable:
    • Easy-to-edit vocabulary JSON files
    • Configurable settings
    • Similarity matching for typos (80% threshold)

๐Ÿš€ Quick Start

Option 1: Direct Use

  1. Download or clone this repository
  2. Open index.html in your web browser
  3. Click START and begin practicing!

Option 2: GitHub Pages

Visit the live demo: https://YOUR-USERNAME.github.io/vocabulary-trainer/

๐Ÿ“ Project Structure

vocabulary-trainer/
โ”œโ”€โ”€ index.html           # Main application file
โ”œโ”€โ”€ vocabulary.json      # Vocabulary data (easily customizable)
โ”œโ”€โ”€ translations.json    # UI translations (NL, ES, EN)
โ”œโ”€โ”€ config.json         # App configuration
โ”œโ”€โ”€ README.md           # This file
โ””โ”€โ”€ LICENSE             # MIT License

๐Ÿ”ง Customization

Adding Your Own Vocabulary

Edit vocabulary.json:

{
  "themes": {
    "1": {
      "name": "Theme Name",
      "emoji": "๐Ÿ“š",
      "vocabulary": [
        {
          "word": "word or phrase",
          "definition": "definition or translation"
        }
      ]
    }
  }
}

Changing the Language

Edit config.json:

{
  "defaultLanguage": "nl"  // Change to "es" or "en"
}

Or add a language selector in the UI (see below for implementation).

Adding New Languages

  1. Add translations to translations.json
  2. Update config.json to include the new language
  3. Follow the existing translation structure

Customizing Colors

Edit config.json:

{
  "colors": {
    "primary": "#7ba3d4",
    "secondary": "#c9a5d4",
    "background": "#e8f4f8",
    "correct": "#4CAF50",
    "incorrect": "#f44336"
  }
}

Adjusting Goals

Edit config.json:

{
  "goals": {
    "time": {
      "min": 1,
      "max": 60,
      "default": 5
    },
    "exercises": {
      "min": 10,
      "max": 100,
      "default": 20
    }
  }
}

๐ŸŽฎ How to Use

  1. Start Session: Click the START button
  2. Choose Goal: Select time-based or exercise-based goal
  3. Select Theme: Choose from available themes or "All Weeks"
  4. Pick Exercise Type: Choose your preferred exercise format
  5. Practice: Complete exercises and track your progress
  6. View Results: See your final score and statistics

๐Ÿ† Scoring System

The app uses a 10-level scoring system based on percentage correct:

  • ๐ŸŒŸ 95-100%: Perfect!
  • ๐ŸŽ‰ 85-94%: Excellent!
  • ๐Ÿ˜Š 75-84%: Very good!
  • ๐Ÿ‘ 65-74%: Good!
  • ๐Ÿ™‚ 55-64%: Pretty good!
  • ๐Ÿ˜ 45-54%: Can do better!
  • ๐Ÿ˜• 35-44%: Need more practice!
  • ๐Ÿ˜ž 25-34%: Keep practicing!
  • ๐Ÿ˜ข 15-24%: Don't give up!
  • ๐Ÿ’ช 0-14%: Keep trying!

๐Ÿ› ๏ธ Technical Details

  • Frontend: Pure HTML5, CSS3, JavaScript (ES6+)
  • No Dependencies: No frameworks or libraries required
  • No Build Process: Just open and use
  • Offline Ready: Works without internet connection
  • Mobile Friendly: Responsive design

๐Ÿ“ Configuration Files

vocabulary.json

Contains all vocabulary organized by themes. Each theme has:

  • name: Theme display name
  • emoji: Theme icon
  • vocabulary: Array of word-definition pairs

translations.json

Contains all UI text in multiple languages. Structure:

  • Language code (nl, es, en)
    • app: App-level text
    • stats: Statistics labels
    • themes: Theme names
    • exerciseTypes: Exercise type names
    • goals: Goal selection text
    • questions: Question prompts
    • feedback: Response messages
    • buttons: Button labels
    • results: Results screen text

config.json

Application configuration:

  • Default language
  • Available languages
  • Goal ranges and defaults
  • Similarity matching settings
  • Color scheme
  • Scoring levels

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request. Areas for contribution:

  • Additional language translations
  • More vocabulary themes
  • New exercise types
  • UI improvements
  • Bug fixes

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘จโ€๐Ÿ’ป Development

Local Development

  1. Clone the repository
  2. Open index.html in your browser
  3. Make changes to HTML, CSS, or JSON files
  4. Refresh browser to see changes

Testing

  • Test in multiple browsers (Chrome, Firefox, Safari, Edge)
  • Test on mobile devices
  • Test with different vocabulary sets
  • Test all language options

๐Ÿ› Known Issues

None currently. Please report any issues on GitHub.

๐Ÿ—บ๏ธ Roadmap

  • Language selector in UI
  • User authentication and progress saving
  • Additional exercise types
  • Audio pronunciation support
  • Difficulty levels
  • Achievement badges
  • Export results to PDF
  • Dark mode

๐Ÿ“ง Contact

For questions, suggestions, or issues, please open a GitHub issue.

๐Ÿ™ Acknowledgments

  • Designed for children learning vocabulary
  • Built with modern web standards
  • Inspired by educational best practices

Made with โค๏ธ for language learners everywhere

About

Interactive vocabulary training app for children with timers, multiple exercise types, and progress tracking

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors