An interactive web application for English language learners to practice vocabulary through speaking, spelling, and comprehension exercises aligned with Cambridge English exams.
- Starters (Beginner) - 17 categories, 119 words
- Movers (Elementary) - 8 categories, 55 words
- Flyers (Pre-Intermediate) - 8 categories, 49 words
- Spelling Practice - Listen and type what you hear
- Learn New Words - Study vocabulary with meanings
- Phonics Helper - Improve pronunciation with audio feedback
- Meaning Match - Select the correct definition
- ๐ Real-time progress tracking
- ๐ Achievement system
- ๐ฅ Daily learning streaks
- ๐ฏ Leaderboard to track top learners
- โญ Special seasonal events (Halloween, Thanksgiving, Christmas, etc.)
- ๐พ Auto-save with localStorage
- ๐ฅ Interactive Kiwi mascot with hover effects
- ๐ Celebration animations (ribbons & sparkles)
- ๐ฑ Fully responsive design (mobile, tablet, desktop)
- ๐ Smooth animations and transitions
- โฟ Accessible UI with keyboard support
Coming Soon! Your app will be available at your GitHub Pages URL once deployed.
- A modern web browser (Chrome, Firefox, Safari, Edge)
- Python 3.6+ (for local development server)
-
Clone or download the repository
git clone https://github.com/YOUR-USERNAME/english-learning-app.git cd english-learning-app -
Open in browser directly or run a local server:
python -m http.server 8000
Then visit:
http://localhost:8000
โโโ index.html # Main application page
โโโ app.js # Core application logic
โโโ styles.css # All styling (responsive design)
โโโ vocab.json # Cambridge vocabulary database
โ
โโโ achievements.js # Achievement system
โโโ leaderboard.js # Leaderboard functionality
โโโ daily.js # Daily streak tracking
โโโ events.js # Seasonal events (Halloween, etc.)
โโโ calendar.js # Calendar view
โโโ review.js # Review system for difficult words
โ
โโโ README.md # This file
โโโ .gitignore # Git configuration
The app includes 223 Cambridge English vocabulary words across 33 categories:
Starters: Animals, Clothes, Colors, Family, Food, House, Numbers, Parts of Body, Prepositions, School, Shapes, Sports, Tools, Toys, Transportation, Vegetables, Weather
Movers: Actions, Adjectives, Food, Habits, House, Places, School, Weather
Flyers: Actions, Adjectives, Animals, Daily Life, Education, Environment, Family, Habits
- Uses Web Speech API for pronunciation
- Native English (British) speaker
- Adjustable speech rate and pitch
- Auto-play option for each word
- All progress stored locally in browser's localStorage
- No server required - 100% client-side application
- Reset option to clear all data
- โ No external API calls (except Web Speech API)
- โ No personal data collection
- โ GDPR compliant
- โ Safe for children (COPPA compliant)
- โ All data stays on user's device
Keep vocab.json healthy:
python validate_vocab.pyChecks:
- Valid JSON syntax
- No duplicate words
- Required fields present
- Proper emoji formatting
- โ Chrome/Edge 90+
- โ Firefox 88+
- โ Safari 14+
- โ Mobile browsers
This project is open source and available for educational purposes.
- Audio recordings of native speakers
- Game-based challenges
- Multiplayer competitions
- Progress export to PDF
- Dark mode
- Additional languages
For questions or suggestions, please create an issue on GitHub.
Made with โค๏ธ for English learners everywhere
-
Three Learning Levels:
- Starters (Beginner) - 17 categories, 119 words
- Movers (Elementary) - 8 categories, 55 words
- Flyers (Pre-Intermediate) - 8 categories, 49 words
-
Interactive Learning Modes:
- Spelling practice (type what you hear)
- Learn new words mode
- Speech synthesis for pronunciation
-
Progress Tracking:
- Track mastered words
- Review difficult words
- Achievement system
- Daily streaks
- Leaderboard
Visit the app: [Your GitHub Pages URL will be here]
- Clone this repository
- Open
index.htmlin a browser, or - Run a local server:
python -m http.server 8000
- Open
http://localhost:8000
Keep vocab.json healthy with a quick validator that checks JSON syntax and duplicate words.
-
Run with Python:
python validate_vocab.py
-
Or via VS Code task:
- Open the Command Palette (Ctrl+Shift+P) โ โRun Taskโ โ
Validate vocab
- Open the Command Palette (Ctrl+Shift+P) โ โRun Taskโ โ
What it checks:
- JSON syntax is valid
- No duplicate words within a category
- No duplicate words across categories in the same level
- No duplicate words across different levels
Numbers, Colors & Shapes, Toys & Games, Family, Places, School & Classroom, Body & Face, Clothes, Food & Drinks, Weather, People, Actions, Animals, Home, Nouns, Colors, Activities
Nouns, Actions, Places, Nature, Sports, Time, Learning, Descriptions
Education, Environment, Technology, Jobs, Emotions, Activities, Travel, Communication
- HTML5
- CSS3
- Vanilla JavaScript
- Web Speech API
- LocalStorage for progress tracking
index.htmlโ Main UIstyles.cssโ Stylingapp.jsโ Core application logicvocab.jsonโ Vocabulary database (223 words)review.jsโ Review functionalityachievements.jsโ Achievement systemdaily.jsโ Daily streak trackingcalendar.jsโ Calendar viewleaderboard.jsโ Leaderboard systemevents.jsโ Event handling
Free to use for educational purposes.
Feel free to fork and submit pull requests!
Made with โค๏ธ for English learners