Revolutionizing Educational Assessment with Artificial Intelligence
ReValuate is an advanced EdTech platform that transforms the traditional exam revaluation process using AI-powered analysis. The system provides transparent, fast, and fair reassessment of student answer scripts through a combination of Google Gemini AI vision models and expert faculty review.
| Component | Status | Hosting | Note |
|---|---|---|---|
| Frontend | π’ Live Link | Render Static Site | Fully Functional |
| Backend API | π’ Online | Render Web Service | Fully Functional |
| Database | π’ Online | Supabase | Fully Functional |
| AI Worker | π΄ Offline | Not Deployed | Skipped to save costs |
Unlike manual revaluation systems that take weeks, ReValuate delivers:
- β AI-Graded Feedback in Seconds using Google Gemini 1.5 Flash Vision
- β 3-Action Teacher Workflow (Purple/Green/Red buttons for instant decisions)
- β Smart Teacher Matching (Dynamic assignment based on subject expertise)
- β PDF to Image AI Grading (Supports multi-page answer scripts)
- β Secure Payments: Razorpay integration for fee processing.
- Supported Subjects: Built-in support for Core CS subjects (UX, AIML, PMA, COA, EHS).
- Responsive Design: Mobile-first dashboard for students and faculty.
- One-Click Application: Apply for revaluation with integrated payment
- Real-Time Status Tracking: Monitor request progress from submission to publication
- AI-Powered Insights: Receive detailed feedback on answer quality, gap analysis, and scoring
- Multi-Page Upload Support: Submit complete answer scripts (converted from PDF)
- Transparent Pricing: Fixed fee per subject with instant payment confirmation
- Smart Dashboard: Dynamic request assignment based on subject specialization
- 3-Action Workflow:
- π£ Purple (Grade): Upload scripts, trigger AI analysis, review & publish
- π’ Green (Approve): Quick-publish AI score without modifications
- π΄ Red (Reject): Reject invalid requests with reason
- AI Assistant: Regenerate grading analysis with one click
- Answer Key Management: Upload reference materials for accurate grading
- Immutable Publishing: Prevents accidental modifications after publication
- Department Management: Configure subjects, teachers, and specializations
- System Monitoring: Track worker queues, AI usage, and system health
- Audit Trail: Complete history of all actions and status changes
- React 18 with Vite (Lightning-fast dev server)
- TailwindCSS (Modern, responsive styling)
- Framer Motion (Smooth animations)
- Axios (HTTP client)
- React Router v6 (Client-side routing)
- Node.js + Express (REST API server)
- PostgreSQL (Supabase hosted, relational database)
- Redis (Upstash, job queue management)
- BullMQ (Distributed task processing)
- Multer (File upload handling)
- JWT (Secure authentication)
- Google Gemini 1.5 Flash (Vision + Text AI)
- pdf-img-convert (PDF to Image conversion)
- Tesseract OCR (Optional text extraction)
- @google/generative-ai (Gemini SDK)
- Supabase (Database + Auth)
- Upstash Redis (Serverless Redis)
- Stripe (Payment gateway)
- Node.js 20+ and npm
- PostgreSQL database (Supabase account)
- Redis instance (Upstash account)
- Google AI API Key (Gemini)
# Clone the repository
git clone https://github.com/yourusername/revaluate.git
cd revaluate
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm install
# Configure environment variables
# Create backend/.env and frontend/.env (see docs/ops/DEPLOYMENT.md)
# Start Redis workers (Terminal 1)
cd backend
npm run worker
# Start backend server (Terminal 2)
cd backend
npm run dev
# Start frontend dev server (Terminal 3)
cd frontend
npm run devVisit http://localhost:5173 to access the application.
graph TB
Student[Student Portal] -->|Apply + Pay| API[Express API Server]
Teacher[Teacher Dashboard] -->|Review + Grade| API
API -->|Store| DB[(PostgreSQL)]
API -->|Queue Jobs| Redis[(Redis/BullMQ)]
Redis -.->|Wait for Consumer| Workers[Background Workers]
Workers -->|OCR| OCRWorker[OCR Processor]
Workers -->|Embeddings| EmbedWorker[Embedding Processor]
Workers -->|Grading| GradeWorker[Grading Processor]
GradeWorker -->|AI Analysis| Gemini[Google Gemini 1.5]
GradeWorker -->|Update| DB
DB -->|Fetch Results| API
API -->|Display| Student
API -->|Display| Teacher
style Gemini fill:#4285F4,stroke:#fff,color:#fff
style Redis fill:#DC382D,stroke:#fff,color:#fff
style DB fill:#4169E1,stroke:#fff,color:#fff
style Workers fill:#999,stroke:#333,stroke-dasharray: 5 5
revaluate/
βββ frontend/ # React + Vite application
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Student, Teacher, Admin dashboards
β β βββ context/ # Auth & global state
β β βββ config.js # API endpoints
β βββ package.json
β
βββ backend/ # Node.js + Express API
β βββ config/ # Database & Redis configuration
β βββ controllers/ # Request handlers (auth, student, teacher)
β βββ middleware/ # Authentication, validation
β βββ routes/ # API endpoints
β βββ workers/ # Background job processors
β β βββ ocrProcessor.js
β β βββ embeddingProcessor.js
β β βββ gradingProcessor.js
β βββ utils/ # AI service, queues, helpers
β βββ server.js # Application entry point
β
βββ docs/ # Documentation
βββ technical/ # Architecture, API, Database
βββ manuals/ # User guides
βββ ops/ # Deployment & troubleshooting
- Database Schema - ER diagrams, relationships, enums
- JWT Authentication: Secure token-based sessions
- Role-Based Access Control: Student/Teacher/Admin separation
- SQL Injection Prevention: Parameterized queries throughout
- File Upload Validation: Type checking, size limits
- Payment Verification: Server-side stripe signature validation
- Environment Isolation: Secrets stored in
.envfiles
sequenceDiagram
Student->>Frontend: Apply for Reval
Frontend->>Razorpay: Process Payment
Razorpay-->>Frontend: Payment Success
Frontend->>Backend: Create Request
Backend->>Database: Store Request (SUBMITTED)
Backend->>Redis: Queue AI Job
Worker->>Gemini AI: Analyze Answer
Worker->>Database: Update (PROCESSING)
Teacher->>Backend: Review & Publish
Backend->>Database: Update (PUBLISHED)
Database-->>Student: Show Results
- View Dashboard β See assigned requests (Smart Matching)
- Upload Script β Multi-page PDF converted to images
- Trigger AI β Google Gemini analyzes against answer key
- Review Feedback β Edit AI comments, adjust score
- Publish β Student receives final result + notification
# Run backend tests
cd backend
npm test
# Run frontend tests
cd frontend
npm test
# Run E2E tests
npm run test:e2eWe welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- G Ganesh - Lead Developer - @AA1-34-Ganesh
- Google Gemini AI for advanced vision models
- Supabase for database infrastructure
- Upstash for serverless Redis
- The open-source community
Made with β€οΈ for Educational Transparency



