Skip to content

richie-rich90454/random_math_question_generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

174 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Random Math Question Generator ๐Ÿงฎ available at math.richardsblogs.com

License GitHub stars Live Demo Node.js Version

A comprehensive, free online math question generator that helps students practice algebra, calculus, trigonometry, and more with instant answer verification. Perfect for students, educators, and anyone looking to improve their math skills!

โœจ Key Features

  • ๐Ÿ“š 25+ Math Topics: Comprehensive coverage from basic arithmetic to advanced calculus
  • โšก Instant Feedback: Real-time answer checking with detailed explanations
  • ๐Ÿ“ฑ Responsive Design: Works seamlessly on desktop, tablet, and mobile devices
  • ๐ŸŽฏ Progressive Difficulty: Questions adapt to different skill levels
  • ๐Ÿ”ข Math Notation Support: Beautiful mathematical rendering with MathJax
  • ๐ŸŽฒ Unlimited Questions: Generate endless practice problems
  • ๐Ÿ’ก Educational Focus: Designed specifically for learning and practice

Supported Math Topics

Category Topics
Arithmetic Addition, Subtraction, Multiplication, Division
Algebra Roots, Logarithms, Exponentials, Factorials, Series
Calculus Differentiation, Integration, Limits, Related Rates
Linear Algebra Matrix Operations, Vector Operations
Trigonometry Sine, Cosine, Tangent, Cosecant, Secant, Cotangent
Discrete Math Permutations, Combinations, Probability

๐Ÿš€ Quick Start

Live Demo

Try it now: https://math.richardsblogs.com/

Local Installation

# Clone the repository
git clone https://github.com/richie-rich90454/random_math_question_generator.git
cd random_math_question_generator

# Install dependencies
npm install

# Start the development server
npm run dev

Then open http://localhost:1331 in your browser.

๐ŸŽฏ How to Use

  1. Select a Topic: Choose from 25+ math categories in the dropdown
  2. Generate Question: Click "Generate Question" to get a new problem
  3. Enter Answer: Type your solution in the answer box
  4. Check Answer: Click "Check Answer" or press Shift+Enter for instant feedback
  5. Learn: Review the correct answer and explanation

๐Ÿ› ๏ธ Technology Stack

  • Frontend: HTML5, CSS3 (Custom Properties), JavaScript (ES6 Modules)
  • Math Rendering: MathJax for beautiful mathematical notation
  • Backend: Node.js with Fastify for high-performance serving
  • Math Engine: Math.js for complex calculations
  • Build Tools: Terser for minification, CSSNano for CSS optimization
  • Desktop App: Electron for cross-platform desktop application

๐Ÿ“ Project Structure

random_math_question_generator/
โ”œโ”€โ”€ index.html              # Main web application interface
โ”œโ”€โ”€ main.js                 # Electron desktop application entry point
โ”œโ”€โ”€ script.js              # Core application logic (ES6 modules)
โ”œโ”€โ”€ script.min.js          # Minified version of script.js
โ”œโ”€โ”€ style.css              # Responsive styling
โ”œโ”€โ”€ style.min.css          # Minified version of style.css
โ”œโ”€โ”€ server.js              # Fastify server configuration
โ”œโ”€โ”€ package.json           # Project configuration and dependencies
โ”œโ”€โ”€ modules/               # Modular math question generators
โ”‚   โ”œโ”€โ”€ math.js            # Main math module loader
โ”‚   โ”œโ”€โ”€ algebra.js         # Algebraic operations
โ”‚   โ”œโ”€โ”€ algebra.full.js    # Full algebra module
โ”‚   โ”œโ”€โ”€ arithmetic.js      # Basic arithmetic
โ”‚   โ”œโ”€โ”€ arithmetic.full.js # Full arithmetic module
โ”‚   โ”œโ”€โ”€ calculus.js        # Calculus problems
โ”‚   โ”œโ”€โ”€ calculus.full.js   # Full calculus module
โ”‚   โ”œโ”€โ”€ linearAlgebra.js   # Matrix and vector operations
โ”‚   โ”œโ”€โ”€ linearAlgebra.full.js # Full linear algebra module
โ”‚   โ”œโ”€โ”€ trigonometry.js    # Trigonometric functions
โ”‚   โ”œโ”€โ”€ trigonometry.full.js # Full trigonometry module
โ”‚   โ””โ”€โ”€ discreteMathematics.js # Combinatorics and probability
โ”œโ”€โ”€ favicon.png            # Application icon
โ”œโ”€โ”€ favicon.ico            # Desktop application icon
โ”œโ”€โ”€ apple-touch-icon.png   # iOS app icon
โ”œโ”€โ”€ NotoSans-VariableFont_wdth_wght.ttf # Custom font
โ”œโ”€โ”€ sitemap.xml            # SEO sitemap
โ”œโ”€โ”€ robots.txt             # Search engine directives
โ”œโ”€โ”€ LICENSE                # Apache 2.0 License
โ”œโ”€โ”€ CODE_OF_CONDUCT.md     # Community guidelines
โ”œโ”€โ”€ OFL-Noto_Sans.txt      # Font license
โ””โ”€โ”€ README.md              # This file

๐ŸŽจ Features in Detail

Smart Answer Checking

  • Supports multiple correct answer formats
  • Handles mathematical equivalences
  • Provides detailed feedback
  • Supports keyboard shortcuts

Educational Design

  • Progressive difficulty levels
  • Clear mathematical notation
  • Instant feedback for learning
  • Mobile-friendly interface

Performance Optimized

  • Fast server response times
  • Optimized bundle sizes
  • Efficient math calculations
  • Responsive design

๐Ÿš€ Deployment

Web Deployment

The application is ready for deployment on any Node.js hosting platform:

  • Vercel, Netlify, Heroku
  • AWS, Google Cloud, Azure
  • Any static hosting service

Desktop Application

Build cross-platform desktop apps:

npm run build

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

  1. Report Bugs: Open an issue with detailed descriptions
  2. Suggest Features: Share your ideas for new math topics or features
  3. Improve Documentation: Help make the project more accessible
  4. Submit Code: Fork the repo and create pull requests

Development Setup

git clone https://github.com/richie-rich90454/random_math_question_generator.git
cd random_math_question_generator
npm install
npm run dev

๐Ÿ“Š Project Stats

  • 25+ Math topics supported
  • 1000+ Lines of educational code
  • 5 Major math categories
  • Unlimited Question combinations
  • Instant Answer verification

๐ŸŒŸ Why Star This Project?

  • ๐ŸŽ“ Educational Value: Helps students learn math effectively
  • ๐Ÿš€ Performance: Fast, responsive, and reliable
  • ๐Ÿ“ฑ Accessibility: Works on all devices
  • ๐Ÿ”ง Well-Maintained: Regular updates and improvements
  • ๐ŸŽฏ Practical: Real-world educational tool
  • ๐Ÿ“š Comprehensive: Covers high school to college-level math

๐Ÿ“„ License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

๐Ÿ”— Links


โญ If you find this project helpful, please consider giving it a star! โญ

Your support helps more people discover this valuable learning tool and encourages further development.