A fun and educational math game for children to practice multiplication skills!
NumMatch is an interactive web-based multiplication game where players find two numbers that multiply to match a target number. With its kid-friendly interface, colorful design, and immediate feedback, it makes learning multiplication fun and engaging.
- ๐ฏ Simple Gameplay: Find two numbers that multiply to the target
- ๐จ Kid-Friendly Design: Large buttons, clear visuals, and fun emojis
- ๐ฑ Responsive: Works on tablets and desktop computers
- โก Instant Feedback: Visual and text feedback for every answer
- ๐ Dark Theme: Easy on the eyes with kid-friendly dark mode
- ๐ฎ Virtual Keypad: Touch-friendly number input
sudo game# Clone the repository
git clone https://github.com/yourusername/nummatch.git
cd nummatch
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install fastapi uvicorn
# Run the game
uvicorn main:app --host 0.0.0.0 --port 8000Open your browser and navigate to http://localhost:8000
- Python 3.8+
- FastAPI
- Uvicorn
- Look at the target number (๐ฏ)
- Enter two numbers that multiply to give the target
- Use the virtual keypad or keyboard to input numbers
- Click the check button or press Enter
- Get instant feedback with emojis and colors
- New challenges appear automatically!
To run NumMatch as a system service:
- Copy the service file:
sudo cp nummatch.service /etc/systemd/system/- Reload systemd:
sudo systemctl daemon-reload- Enable and start the service:
sudo systemctl enable nummatch
sudo systemctl start nummatch- Check status:
sudo systemctl status nummatchnummatch/
โโโ main.py # FastAPI backend
โโโ static/ # Frontend assets
โ โโโ index.html # Main HTML page
โ โโโ app.js # Core game logic
โ โโโ keypad.js # Virtual keypad
โ โโโ button.js # Button interactions
โ โโโ message.js # Message handling
โ โโโ style.css # Styling (with dark theme)
โโโ docs/
โ โโโ structure.md # Detailed documentation
โโโ nummatch.service # Systemd service file
โโโ game # Startup script
โโโ README.md # This file
โโโ LICENSE # MIT License
Edit the generateTarget function in static/app.js to adjust the number ranges.
Modify static/style.css to add new color schemes or themes.
The interface currently uses German. Update the text in static/app.js and static/index.html for other languages.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Designed for children learning multiplication
- Built with FastAPI and vanilla JavaScript
- Inspired by the need for engaging educational tools
If you encounter any issues or have suggestions, please:
- Open an issue on GitHub
- Check the documentation for technical details
Made with โค๏ธ for young learners everywhere