EduGrade AI is a comprehensive full-stack platform designed to automate and enhance the grading process for descriptive answers using advanced Natural Language Processing (NLP) and Computer Vision (OCR).
- BERT-Powered Evaluation: Uses the
all-MiniLM-L6-v2model for semantic similarity analysis between student and model answers. - Computer Vision (OCR): Integrated EasyOCR for handwritten text extraction from photos and PyMuPDF for document extraction.
- Real-Time Data Analytics: Interactive charts using Recharts for student mastery trends and teacher performance distributions.
- Gamification & Achievements: Dynamic badge and streak system to motivate students (e.g., "Fast Finisher", "Academic Streak").
- Class Knowledge Gaps: Backend aggregation to identify frequently missed keywords, visualized for instructors.
- Modern UI/UX: Sleek, responsive glassmorphism dashboard built with React and Tailwind CSS v4.
- Secure Authentication: Custom JWT-based authentication system with role-based access control (RBAC).
- Frontend: React (Vite), Tailwind CSS v4, Lucide Icons, Recharts
- Backend (API): Node.js, Express.js, MongoDB Atlas (Mongoose)
- NLP/OCR Service: Python, FastAPI, HuggingFace Transformers, EasyOCR, PyMuPDF
- Authentication: JSON Web Tokens (JWT), Bcrypt.js
/Evaluation
├── backend/ # Express.js server and REST API
├── frontend/ # React.js application (Vite + Tailwind)
└── nlp-service/ # Python FastAPI service for BERT evaluation & OCR
- Node.js (v18+)
- Python (v3.9+)
- MongoDB Atlas account
cd backend
npm install
# Configure your .env file with MONGO_URI, JWT_SECRET, etc.
npm startcd nlp-service
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
pip install -r requirements.txt
uvicorn main:app --port 8000cd frontend
npm install
# Configure VITE_API_URL in .env
npm run dev- Service Type: Web Service
- Environment: Node.js
- Build Command:
cd backend && npm install - Start Command:
cd backend && node server.js - Environment Variables:
PORT: 5001MONGO_URI: Your MongoDB Atlas URIJWT_SECRET: A secure random stringCLIENT_URL: Your Vercel frontend URLNLP_SERVICE_URL: Your Render NLP service URL
- Service Type: Web Service
- Environment: Python
- Build Command:
export CARGO_HOME=/opt/render/project/src/.cargo && cd nlp-service && pip install --no-cache-dir -r requirements.txt - Start Command:
cd nlp-service && uvicorn main:app --host 0.0.0.0 --port 8000 - Environment Variables:
PORT: 8000PYTHON_VERSION: 3.9.0 (Recommended for compatibility)
- Build Command:
npm run build - Output Directory:
dist - Environment Variables:
VITE_API_URL: Your Render backend URL including/api(e.g.,https://edugrade-backend-85vb.onrender.com/api)- CRITICAL: Do NOT omit the
/apiat the end of the URL, otherwise the login will fail with a 404.
The platform calculates:
- Semantic Similarity: Using BERT embeddings.
- Keyword Mastery: Matching extracted keywords from student responses.
- Academic Streaks: Rewarding consistent high performance.
- Developers: Shubashis, Vansh, Vishnu
© 2026 EduGrade AI. All rights reserved.