Skip to content

Harshit-Patel01/AI-Evaluator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AI Evaluator - Intelligent Answer Sheet Evaluation System

πŸ“‹ Project Overview

AI Evaluator is an intelligent answer sheet evaluation platform that leverages AI/ML to automatically grade student exam papers. Teachers can upload student answer sheets (images or PDFs) and receive instant AI-powered evaluations with detailed feedback, while students can submit their papers online and get immediate scoring without manual grading delays.


✨ Key Features

  • πŸ€– AI-Powered Evaluation - Automatic grading of answer sheets using machine learning models
  • πŸ“Έ Multi-Format Support - Upload answer sheets as images (JPG, PNG) or PDFs
  • πŸ‘¨β€πŸ« Teacher Dashboard - Manage exams, view student submissions, and track evaluations
  • πŸ‘¨β€πŸŽ“ Student Portal - Submit answer sheets and view instant evaluation results
  • πŸ“Š Analytics & Reports - Detailed performance metrics and grading statistics
  • πŸ” Secure Authentication - Separate teacher and student login systems
  • πŸ“š Subject Management - Support for multiple subjects across different semesters
  • πŸŽ“ Term Management - Handle multiple exam terms (CIA1, CIA2, CIA3)

πŸ—οΈ Architecture

Tech Stack

Frontend:

  • React 18.2.0
  • Material-UI (MUI) - Modern component library
  • Recharts - Data visualization
  • Axios - HTTP client
  • React Router - Navigation
  • Vite - Build tool

Backend:

  • Node.js with Express.js
  • PostgreSQL - Relational database
  • Multer - File upload handling
  • JWT - Authentication & authorization
  • Bcrypt - Password hashing
  • CORS - Cross-origin resource sharing

DevOps:

  • Docker - Containerization
  • Docker Compose - Multi-container orchestration

πŸ“ Project Structure

AI-Evaluator/
β”œβ”€β”€ frontend/                 # React frontend application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ pages/           # Page components (StudentSubmit, Dashboard, etc.)
β”‚   β”‚   β”œβ”€β”€ utils/           # API utilities and configurations
β”‚   β”‚   β”œβ”€β”€ styles/          # Global styles
β”‚   β”‚   └── main.jsx         # Entry point
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ vite.config.js
β”‚   └── Dockerfile
β”‚
β”œβ”€β”€ backend/                  # Express.js backend API
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ routes/          # API route handlers
β”‚   β”‚   β”œβ”€β”€ db.js            # Database connection
β”‚   β”‚   β”œβ”€β”€ model.js         # AI evaluation logic
β”‚   β”‚   └── index.js         # Server entry point
β”‚   β”œβ”€β”€ scripts/             # Utility scripts
β”‚   β”œβ”€β”€ uploads/             # File storage directory
β”‚   β”œβ”€β”€ package.json
β”‚   └── Dockerfile
β”‚
β”œβ”€β”€ db/
  └── 01_init_schema.sql   # Database initialization schema


πŸš€ Getting Started

Prerequisites

  • Node.js (v16+)
  • PostgreSQL (v12+)
  • Docker & Docker Compose (optional)

Installation & Setup

Option 1: Local Development

  1. Clone the repository:

    git clone https://github.com/Harshit-Patel01/AI-Evaluator.git
    cd AI-Evaluator
  2. Setup Backend:

    cd backend
    npm install
    cp .env.example .env
    # Configure .env with database credentials
    npm run dev
  3. Setup Frontend:

    cd frontend
    npm install
    npm run dev
  4. Database Setup:

    • Create PostgreSQL database
    • Run 01_init_schema.sql to initialize tables

Option 2: Docker Compose (Recommended)

docker-compose up --build

This will start:

  • Frontend on http://localhost:5173
  • Backend API on http://localhost:8080
  • PostgreSQL database on port 5432

πŸ“– API Endpoints

Authentication Routes

  • POST /api/auth/login - Teacher login
  • POST /api/student-auth/login - Student login
  • POST /api/student-auth/set-password - Student password setup

Evaluation Routes

  • POST /api/evaluate/student-submit - Submit answer sheets for evaluation
  • GET /api/evaluate/results/:id - Get evaluation results

Dashboard Routes

  • GET /api/dashboard/teacher-stats - Teacher dashboard statistics
  • GET /api/dashboard/submissions - View all student submissions

Management Routes

  • GET /api/terms - Get available exam terms
  • GET /api/subjects - Get subjects by semester
  • GET /api/students - Get all students
  • POST /api/students - Add new student

πŸ“Έ Screenshots & Assets

Landing Page

Landing Page

  • Welcome screen introducing the AI Evaluator platform
  • Quick navigation to teacher and student portals

Teacher Login

Teacher Login

  • Secure login interface for educators
  • Access to teacher dashboard and evaluation tools

Student Login

Student Login

  • Student authentication portal
  • Easy access to answer sheet submission

Student Password Setup

Create Password

  • Secure password initialization for new students
  • One-time setup process using student credentials

Teacher Dashboard

Teacher Dashboard

  • Comprehensive view of all student submissions
  • Track evaluation status and performance metrics
  • Access detailed analytics and grading statistics

πŸ” Security Features

  • Password Hashing: BCrypt for secure password storage
  • JWT Authentication: Secure token-based authentication
  • Role-Based Access Control: Separate permissions for teachers and students
  • File Upload Validation: Type and size restrictions
  • CORS Protection: Cross-origin request validation
  • SQL Injection Prevention: Parameterized database queries

πŸ“Š Database Schema

Key Tables:

  • users - Teacher accounts
  • students - Student information and authentication
  • subjects - Available subjects with semester mapping
  • exam_terms - Exam term definitions (CIA1, CIA2, CIA3)
  • submissions - Student answer sheet submissions
  • evaluations - AI evaluation results and feedback

πŸ€– AI/ML Integration

The system uses machine learning models to:

  • Extract text from handwritten/printed answer sheets (OCR)
  • Analyze answer content against expected solutions
  • Generate intelligent scoring with detailed feedback
  • Identify common mistakes and learning gaps

πŸ“ˆ Performance Optimizations

  • File Compression: Support for various image formats with optimization
  • Lazy Loading: Frontend components load on demand
  • Database Indexing: Optimized queries for fast retrieval
  • Caching: Session caching for frequently accessed data
  • Batch Processing: Handle multiple file uploads efficiently

πŸ› οΈ Development Commands

Backend

npm run dev        # Run with nodemon (auto-reload)
npm start          # Production start
npm run create-teacher  # Create a new teacher account

Frontend

npm run dev        # Development server with HMR
npm run build      # Production build
npm run preview    # Preview production build

πŸ› Troubleshooting

Common Issues:

  1. Database Connection Failed

    • Ensure PostgreSQL is running
    • Check connection string in .env
    • Verify database exists and schema is initialized
  2. File Upload Fails

    • Check uploads/ directory permissions
    • Verify file size is under 20MB limit
    • Ensure supported file format (JPG, PNG, PDF)
  3. CORS Errors

    • Verify API_BASE_URL in frontend config matches backend URL
    • Check CORS settings in backend index.js

πŸ“ License

This project is provided as-is for educational purposes.


πŸ‘¨β€πŸ’» Author

Created as an intelligent educational assessment platform to automate and streamline the exam evaluation process for educational institutions.


🀝 Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.


πŸ“ž Support

For issues or questions, please contact the development team or open an issue in the repository.


Happy Evaluating! πŸŽ“βœ¨

About

AI Evaluator is an intelligent answer sheet evaluation platform that leverages AI/ML to automatically grade student exam papers.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages