Skip to content

Repository files navigation

EducAI - Professional Mathematics Assistant

EducAI Logo

An intelligent AI-powered mathematics assistant for all skill levels

License: MIT Python React Docker

About EducAI

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á).

Team

Features

AI Chat Assistant

  • 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...

Interactive Math Tools

  • 📊 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

Quick Start

Prerequisites

  • Docker and Docker Compose
  • Node.js 18+ (for local development)
  • Python 3.11+ (for local development)

Installation

  1. Clone the repository
git clone https://github.com/YOUR_USERNAME/EducAI.git
cd EducAI
  1. Set up environment variables
cp env.hf.example .env
# Edit .env with your API keys
  1. Run with Docker
# Using Hugging Face endpoints
docker-compose -f docker-compose.hf.yml up

# Or using local models
docker-compose up
  1. Access the application

Project Structure

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

🔑 Environment Variables

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-this

See env.hf.example for more details.

Development

Backend Development

cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload

Frontend Development

cd frontend
npm install
npm start

Running Tests

# Backend tests
cd backend
pytest

# Frontend tests
cd frontend
npm test

Technologies Used

  • 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

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Made with ❤️ by UNIFEI Students

About

An AI-powered mathematics assistant for students

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages