An interactive math game designed to help children practice and improve their math skills in a fun, engaging way. The application features adaptive difficulty levels, profile customization, and progress tracking.
- Multiple difficulty levels: Customized math problems for different grade levels
- Profile creation and management: Allow children to create their own profiles
- Login system: Secure user authentication with password reset capability
- Interactive UI: Kid-friendly design with engaging visuals
- Progress tracking: See improvement over time
- Language selection: Support for multiple languages
- Frontend: Angular 12
- Backend: Node.js with Express.js
- Database: MongoDB (via Mongoose)
- Authentication: JWT tokens and bcrypt password hashing
- Email Service: Nodemailer with Gmail
- Node.js (v14+)
- Angular CLI (v12.2.18)
- MongoDB (local or Atlas cloud instance)
- Gmail account (for password reset functionality)
git clone <repository-url>
cd math-game# Install dependencies
npm install
# Start the development server
npm startThe application will be available at http://localhost:4200/.
# Navigate to server directory
cd server
# Install dependencies
npm install
# Copy environment file
cp .env.example .env
# Edit .env file with your credentials
# Update MongoDB URI, JWT secret, and Gmail credentials
# Start the server
npm run devThe server will run on http://localhost:3000/ by default.
No specific environment configuration is needed for development.
Edit the .env file with the following details:
PORT: Server port (default: 3000)MONGODB_URI: Your MongoDB connection stringJWT_SECRET: Secret key for JWT token generationGMAIL_USER: Your Gmail addressGMAIL_APP_PASSWORD: Your Gmail App Password
For details on setting up Gmail App Password, refer to the server README.
- Create a new account or log in with existing credentials
- Set up a child profile with name and grade level
- Select difficulty level for math problems
- Solve problems and track progress
- View results and overall performance
# Run frontend tests
npm test
# Run end-to-end tests (requires additional setup)
npm run e2eng serve: Start development serverng build: Build the projectng generate component component-name: Generate new componentng help: Get more help on Angular CLI
[License information]
[List contributors here]
- Angular team for the excellent framework
- Contributors and testers who helped improve the game