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.
- π€ 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)
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
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
- Node.js (v16+)
- PostgreSQL (v12+)
- Docker & Docker Compose (optional)
-
Clone the repository:
git clone https://github.com/Harshit-Patel01/AI-Evaluator.git cd AI-Evaluator -
Setup Backend:
cd backend npm install cp .env.example .env # Configure .env with database credentials npm run dev
-
Setup Frontend:
cd frontend npm install npm run dev -
Database Setup:
- Create PostgreSQL database
- Run
01_init_schema.sqlto initialize tables
docker-compose up --buildThis will start:
- Frontend on
http://localhost:5173 - Backend API on
http://localhost:8080 - PostgreSQL database on port 5432
POST /api/auth/login- Teacher loginPOST /api/student-auth/login- Student loginPOST /api/student-auth/set-password- Student password setup
POST /api/evaluate/student-submit- Submit answer sheets for evaluationGET /api/evaluate/results/:id- Get evaluation results
GET /api/dashboard/teacher-stats- Teacher dashboard statisticsGET /api/dashboard/submissions- View all student submissions
GET /api/terms- Get available exam termsGET /api/subjects- Get subjects by semesterGET /api/students- Get all studentsPOST /api/students- Add new student
- Welcome screen introducing the AI Evaluator platform
- Quick navigation to teacher and student portals
- Secure login interface for educators
- Access to teacher dashboard and evaluation tools
- Student authentication portal
- Easy access to answer sheet submission
- Secure password initialization for new students
- One-time setup process using student credentials
- Comprehensive view of all student submissions
- Track evaluation status and performance metrics
- Access detailed analytics and grading statistics
- 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
- 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
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
- 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
npm run dev # Run with nodemon (auto-reload)
npm start # Production start
npm run create-teacher # Create a new teacher accountnpm run dev # Development server with HMR
npm run build # Production build
npm run preview # Preview production build-
Database Connection Failed
- Ensure PostgreSQL is running
- Check connection string in
.env - Verify database exists and schema is initialized
-
File Upload Fails
- Check
uploads/directory permissions - Verify file size is under 20MB limit
- Ensure supported file format (JPG, PNG, PDF)
- Check
-
CORS Errors
- Verify API_BASE_URL in frontend config matches backend URL
- Check CORS settings in backend index.js
This project is provided as-is for educational purposes.
Created as an intelligent educational assessment platform to automate and streamline the exam evaluation process for educational institutions.
Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.
For issues or questions, please contact the development team or open an issue in the repository.
Happy Evaluating! πβ¨




