How saagarrk/intelligrade works
IntelliGrade automates handwritten exam evaluation: a student uploads an answer sheet, the system preprocesses and digitizes it, scores extracted answers against exam rubrics, and presents results for teacher review and student feedback. The README describes a React/Express gateway, Spring Boot institutional backend, and FastAPI vision service; sampled code also shows a TypeScript handwritten-processing engine calling Gemini OCR. The README documents the five evaluation stages and MySQL, while the excerpts do not establish every runtime connection or storage implementation, so those relationships are cited to the README.
Main entry points: GradingPipelineServiceImpl.java Institutional Backend · server.ts REST Gateway · TeacherEvaluationReviewWorkspace.jsx Teacher Review · App.jsx Role Workspaces
Components 19
Web Workspaces
- Role Workspaces
src/App.jsx - Answer Upload
src/components/HandwrittenUploadWorkflow.jsx - Pipeline View
src/components/HandwrittenPipelineView.jsx
API Gateway
- REST Gateway
server.ts - Document Workflow
src/backend/handwrittenPipelineEngine.ts - Results API
src/server/routes/result.routes.ts
Institutional Core
- Institutional Backend
backend/src/main/java/com/intelligrade/service/impl/GradingPipelineServiceImpl.java - Submission Records
backend/src/main/java/com/intelligrade/entity/SubmissionEntity.java
Vision And Scoring
- Image Preprocessing
ai-service/app/services/preprocessing_service.py - Handwriting OCR
ai-service/app/services/ocr_service.py - Rubric Evaluation
ai-service/app/services/evaluation_service.py - Formative Feedback
ai-service/app/services/feedback_service.py
Review And Insights
- Teacher Review
src/components/TeacherEvaluationReviewWorkspace.jsx - Student Results
src/components/student/StudentResultsAndFeedback.jsx - Academic Analytics
src/components/analytics/AcademicAnalyticsModule.jsx - Evaluation Reports
src/utils/pdfExport.js
Other components
- Student / Teacher
- Gemini Vision
- MySQL Database
Connections 19
- Student / Teacher → Role Workspaces: uses
- Role Workspaces → Answer Upload: submits scans
src/App.jsx - Answer Upload → REST Gateway: uploads to
- REST Gateway → Institutional Backend: routes requests
- Institutional Backend → Image Preprocessing: requests vision work
- Image Preprocessing → Handwriting OCR: prepares scans
- Handwriting OCR → Gemini Vision: recognizes handwriting
- Document Workflow → Gemini Vision: invokes OCR
src/backend/handwrittenPipelineEngine.ts - Institutional Backend → Rubric Evaluation: requests scoring
- Rubric Evaluation → Formative Feedback: generates guidance
- Institutional Backend → Submission Records: persists evaluations
backend/src/main/java/com/intelligrade/service/impl/GradingPipelineServiceImpl.java - Institutional Backend → MySQL Database: stores institutional data
- Institutional Backend → Teacher Review: returns evaluations
- Teacher Review → Student Results: finalizes marks
- REST Gateway → Results API: serves results
- Results API → Submission Records: reads submissions
src/server/routes/result.routes.ts - Student Results → Academic Analytics: displays performance
- Teacher Review → Evaluation Reports: exports reports
- Pipeline View → Document Workflow: shows pipeline status