MathMax is a comprehensive, interactive application designed to help elementary and middle school students improve their basic math skills through daily practice, real-time multiplayer challenges, and personalized learning exercises. It features dedicated dashboards for Students, Teachers, and Admins to track progress and manage learning.
- Adaptive Practice Engine: Personalized math problems (Arithmetic, Fractions, Decimals) that adapt to your skill level.
- Multiplayer Battle Arena: Challenge friends in real-time 1v1 math battles using WebSockets.
- Gamification: Earn XP, level up, and unlock achievements.
- Progress Tracking: Visual charts showing improvement over time.
- Dashboards: View assignments, recent activity, and leaderboard rankings.
- Class Management: Create classes and manage student rosters.
- Assignment Creation: Create custom assignments with specific deadlines and topics.
- Analytics Dashboard: Monitor student performance, identify weak areas, and generate reports.
- Group Management: Organize students into groups for targeted learning.
- User Management: Manage all user roles (Student, Teacher, Admin).
- Bulk Operations: Upload students/teachers via CSV/Excel.
- System Oversight: Monitor platform usage and manage global settings.
- Frontend: React, Vite, Material-UI (MUI), Lucide React, Recharts.
- Backend: Django, Django REST Framework (DRF).
- Real-time: Django Channels & Daphne (WebSockets) for Multiplayer.
- Database: PostgreSQL.
- Authentication: JWT (JSON Web Tokens).
- Node.js: Download Node.js
- Python 3.8+: Download Python
- PostgreSQL: Download PostgreSQL
- Redis (Optional, for Channel Layer/Celery): Download Redis
-
Navigate to the backend directory:
cd backend -
Create and activate a virtual environment:
python -m venv venv # Windows venv\Scripts\activate # macOS/Linux source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure Environment Variables: Create a
.envfile in thebackendfolder (or checkconfig/settings.pyfor defaults). Ensure you set your database credentials. -
Run Migrations:
python manage.py migrate
-
Start the Server (with Channels/Daphne support):
python manage.py runserver
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the Development Server:
npm run dev
The app will typically run at http://localhost:5173.
- backend/: Django project root.
api/: REST API endpoints.multiplayer/: WebSocket consumers and routing.math_engine/: Logic for generating math problems.users/: Custom user models and auth.
- frontend/: React application.
src/pages/: Main application pages.src/components/: Reusable UI components.src/context/: Global state (Auth, Theme, Multiplayer).
(If you have loaded sample_users.csv)
- Admin:
admin@mathmax.com - Teacher:
teacher@mathmax.com - Student:
student@mathmax.com