AutoGrade is an end-to-end, AI-driven grading platform designed to help teachers automate assignment processing, plagiarism detection, and personalized feedback generation. Integrating seamlessly with Google Classroom and Google Forms, AutoGrade streamlines grading workflows, reduces teacher workload, and enhances student learning outcomes.
- Introduction
- Features
- Tech Stack
- Installation and Setup
- Fork and Contribution
- Screenshots
- Documentation and References
- Future Enhancements
- Acknowledgements
AutoGrade automates the grading process by leveraging OCR, NLP, and machine learning to process and evaluate student assignments. Key objectives include:
- Reducing Teacher Workload: Automate manual grading and feedback, freeing teachers to focus on personalized instruction.
- Enhancing Feedback Quality: Deliver dynamic, actionable insights tailored to individual student performance.
- Integrating Modern Technologies: Utilize cutting-edge web technologies (React, TypeScript, Vite) alongside AI/ML frameworks (Flask, scikit-learn) for a robust grading ecosystem.
- Seamless Classroom Integration: Connect directly with Google Classroom and Forms for efficient assignment management.
-
Automated Grading & OCR:
- Retrieves assignment PDFs via Google Classroom and Forms, converts them to images, and extracts text using Tesseract and pdf2image.
- Processes large volumes of submissions with minimal manual intervention.
-
Plagiarism Detection & Grouping:
- Uses MinHash and LSH to identify copied content and flags assignments with high similarity.
- Clusters similar assignments using TF-IDF and cosine similarity for efficient batch grading.
-
Dynamic Feedback Generation:
- Integrates with LLM APIs (e.g., Gemini API) to provide personalized, detailed feedback for each assignment.
- Allows teachers to review and adjust feedback before distribution.
-
Dashboard & Analytics:
- Offers an interactive dashboard for teachers to monitor submission statuses, grading outcomes, and student performance metrics in real time.
-
Frontend:
- Framework: React + TypeScript + Vite
- Plugins: @vitejs/plugin-react and @vitejs/plugin-react-swc for fast refresh
- Linting: ESLint with recommended TypeScript and React configurations
-
Backend:
- API Server: Node.js with Express for RESTful API management
- AI/ML Integration: Python with Flask to serve machine learning models (scikit-learn, spaCy, Tesseract, pdf2image)
-
Databases:
- Structured Data: PostgreSQL, MongoDB for assignment metadata and user information
-
Feature Engineering & NLP:
- Libraries: scikit-learn for TF-IDF, MinHash, LSH; spaCy for tokenization and normalization
-
Cloud & Deployment:
- Containerization: Docker, Kubernetes (Google Kubernetes Engine)
- CI/CD & Monitoring: Google Cloud Build, Cloud Monitoring, BigQuery, and Data Studio
-
Integration:
- APIs: Google Classroom & Forms APIs for seamless assignment management
- Authentication: Google OAuth 2.0 and Google Cloud Identity for secure access
-
Clone the Repository:
git clone https://github.com/raazseth/Auto-Grade-Frontend.git
-
Navigate to the Project Directory:
cd autograde -
Install Dependencies:
- For the Frontend (React + TypeScript + Vite):
npm install
- For the Backend (Express & Flask):
- Navigate to the Node.js backend folder and install dependencies:
cd backend/node npm install - Navigate to the AI/ML folder and install Python dependencies:
cd ../python-ai pip install -r requirements.txt
- Navigate to the Node.js backend folder and install dependencies:
- For the Frontend (React + TypeScript + Vite):
-
Set Up Environment Variables:
- Create a
.envfile in the frontend root directory:VITE_API_BASE_URL=YOUR_API_URL VITE_GOOGLE_CLASSROOM_API_KEY=YOUR_GOOGLE_API_KEY - Configure additional environment variables for backend services as required.
- Create a
-
Start Development Servers:
- Frontend:
npm run dev
- Backend:
- For Express:
cd backend/node npm run dev - For Flask AI/ML service:
cd backend/python-ai flask run
- For Express:
- Frontend:
-
Access the Application: Open your browser and navigate to
http://localhost:5173to access the AutoGrade teacher dashboard.
-
Fork the Repository:
Click the "Fork" button on the repository page. -
Clone Your Fork:
git clone https://github.com/raazseth/Auto-Grade-Frontend.git
-
Create a New Branch:
git checkout -b feature/your-feature-name
-
Make Your Changes:
Develop your feature and commit changes with clear, descriptive messages. -
Push Your Branch:
git push origin feature/your-feature-name
-
Submit a Pull Request:
Open a pull request on GitHub to merge your changes into the main branch.
-
Dashboard Overview:
Real-time view of assignment submissions, grading outcomes, and feedback.

-
ClassRoom Integration:
Detailed view for teachers to validate automated grading and personalized feedback.

-
Automated AI Assignment Creation:
-
AutoGrade Backend:
-
AI Plagiarism Checker:
-
Real-Time Analytics Dashboard:
Expand interactive reporting with enhanced visualizations and KPIs. -
Mobile Application:
Develop native mobile apps for on-the-go access by teachers. -
Advanced Reporting:
Enable customizable report exports (Excel, PDF) for in-depth analysis.
AutoGrade is developed and maintained by Raj Seth, Prityanshu Singh, Prakash Pramanick, and Saurav Jha. Special thanks to all contributors and the open-source community for providing invaluable tools and frameworks, including React, Express, Flask, scikit-learn, and the Google Developer ecosystem.
Happy Grading!

