EducAI is an AI-powered mathematics platform designed to assist users of all levels—from students to professionals—in solving mathematical problems through interactive tools and intelligent assistance. Whether you need help with basic algebra or advanced calculus, EducAI provides step-by-step guidance and powerful visualization tools.
Developed as part of the Informatics and Society discipline at UNIFEI (Universidade Federal de Itajubá).
- Gabriel Del Monte Schiavi
- Gabrielle Gomes Almeida
- Julia Furtado Araujo
- Pedro Di Luca Martins Chaves
- Samuel Lima Braz
- Natural language understanding for math questions
- Step-by-step problem-solving guidance
- Image recognition for handwritten problems (OCR)
- Support for complex mathematical topics:
- Calculus (derivatives, integrals, limits)
- Linear Algebra (matrices, eigenvalues, vector spaces)
- Statistics & Probability
- Number Theory
- Geometry
- And more...
- 📊 Graph Visualizer: Plot and analyze mathematical functions with support for trigonometric, exponential, and polynomial functions
- 🧮 Calculator: Smart calculation tool for quick computations
- ✏️ Sketch Pad: Draw mathematical diagrams and handwritten problems for OCR analysis
- Docker and Docker Compose
- Node.js 18+ (for local development)
- Python 3.11+ (for local development)
- Clone the repository
git clone https://github.com/YOUR_USERNAME/EducAI.git
cd EducAI- Set up environment variables
cp env.hf.example .env
# Edit .env with your API keys- Run with Docker
# Using Hugging Face endpoints
docker-compose -f docker-compose.hf.yml up
# Or using local models
docker-compose up- Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
EducAI/
├── backend/ # FastAPI backend
│ ├── app/ # Application code
│ │ ├── services/ # AI services (OCR, LLM, Math)
│ │ └── models.py # Data models
│ └── Dockerfile
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/ # React components
│ │ └── App.js # Main app
│ └── Dockerfile
├── docker/ # Docker configurations
├── assets/ # Logo and sample images
└── docker-compose.yml
Create a .env file with:
# Database
POSTGRES_USER=edumath
POSTGRES_PASSWORD=edumath123
POSTGRES_DB=edumath_db
# Hugging Face Endpoints (if using)
OLMOCR_URL=your_olmocr_endpoint
OLMOCR_API_KEY=your_api_key
LLM_URL=your_llm_endpoint
LLM_API_KEY=your_api_key
# App Configuration
CORS_ORIGINS=http://localhost:3000
SECRET_KEY=your-secret-key-change-thisSee env.hf.example for more details.
cd backend
pip install -r requirements.txt
uvicorn app.main:app --reloadcd frontend
npm install
npm start# Backend tests
cd backend
pytest
# Frontend tests
cd frontend
npm test- Backend: FastAPI, SQLAlchemy, PostgreSQL, Redis
- Frontend: React, KaTeX, Recharts, Math.js
- AI/ML: OlmOCR, Qwen Math LLM, vLLM
- Infrastructure: Docker, Docker Compose
- Tools: NumPy, Matplotlib, Sympy
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
Made with ❤️ by UNIFEI Students
