MathBook is a cutting-edge tool designed to solve math problems interactively. By leveraging advanced AI, users can upload images of equations, expressions, or graphical problems and instantly receive detailed solutions. It's perfect for students, educators, and math enthusiasts.
- Image-to-Solution: Upload an image of a math problem and receive detailed solutions.
- AI-Powered Analysis: Uses advanced AI models like LLaVA for image understanding and Gemini for computations.
- User-Friendly Interface: Simplifies math learning for everyone, blending practicality with technology.
The backend processes images, extracts mathematical data, and provides accurate solutions. It is powered by:
- LLaVA Model: For image-to-text processing.
- Gemini API: For solving and interpreting mathematical problems.
- MongoDB: To store user-uploaded images and responses.
/calculate
: Accepts image files and optional variable assignments.
- FastAPI: Backend framework.
- Redis: For caching.
- MongoDB: Database for flexible data storage.
The frontend offers an interactive interface for users to upload and view solutions.
- Canvas Drawing: Draw math problems directly on the screen.
- Color Picker & Controls: Select brush sizes and colors.
- LaTeX Renderer: Converts API responses to LaTeX for dynamic rendering.
- React: Frontend framework.
- TailwindCSS: Styling.
- Mantine: UI components.
- Axios: For API communication.
- Authentication: API keys or OAuth.
- Rate Limiting: Prevent misuse.
- Data Encryption: TLS/SSL for secure data transfer.
- Node.js
- Python 3.9+
- Docker
- Redis
- MongoDB
- Clone the repository:
git clone https://github.com/Aaronvern/mathbook.git cd mathbook
- Install backend dependencies:
cd mathbook_be
pip install -r requirements.txt
- Install frontend dependencies:
cd ../math book fe
npm install
- Start the services:
# Backend
cd ../math book be
python app.py
# Frontend
cd ../math book fe
npm run dev
Contributions are welcome! Feel free to submit issues or pull requests for improvements.