Skip to content

AutoGrade is an AI-powered grading platform that automates assignments, detects plagiarism, and provides personalized feedback—seamlessly integrating with Google Classroom and Forms to streamline grading and boost student outcomes.

Notifications You must be signed in to change notification settings

raazseth/Auto-Grade-Frontend

Repository files navigation

AutoGrade - AI Powered Teacher Assistant

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.


Table of Contents


Introduction

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.

Features

User-Focused Features

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

Tech Stack

  • 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

Installation and Setup

  1. Clone the Repository:

    git clone https://github.com/raazseth/Auto-Grade-Frontend.git
  2. Navigate to the Project Directory:

    cd autograde
  3. 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
  4. Set Up Environment Variables:

    • Create a .env file 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.
  5. 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
  6. Access the Application: Open your browser and navigate to http://localhost:5173 to access the AutoGrade teacher dashboard.


Fork and Contribution

  1. Fork the Repository:
    Click the "Fork" button on the repository page.

  2. Clone Your Fork:

    git clone https://github.com/raazseth/Auto-Grade-Frontend.git
  3. Create a New Branch:

    git checkout -b feature/your-feature-name
  4. Make Your Changes:
    Develop your feature and commit changes with clear, descriptive messages.

  5. Push Your Branch:

    git push origin feature/your-feature-name
  6. Submit a Pull Request:
    Open a pull request on GitHub to merge your changes into the main branch.


Screenshots

  • Dashboard Overview:

    Real-time view of assignment submissions, grading outcomes, and feedback. Dashboard

  • ClassRoom Integration:

    Detailed view for teachers to validate automated grading and personalized feedback. Classes-AutoGrade-04-06-2025_06_50_PM Hackathon-Class-2025-04-06-2025_06_49_PM

  • Automated AI Assignment Creation:

    Create assignments and google forms quickly using AI. Assignment-AutoGrade-04-06-2025_06_50_PM Assignment-AutoGrade-04-06-2025_06_46_PM


Documentation and References


Future Enhancements

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


Acknowledgements

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!

About

AutoGrade is an AI-powered grading platform that automates assignments, detects plagiarism, and provides personalized feedback—seamlessly integrating with Google Classroom and Forms to streamline grading and boost student outcomes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages