Skip to content

quantumstack-labs/Smart_Revaluation_System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ReValuate: AI-Powered Exam Transparency

Revolutionizing Educational Assessment with Artificial Intelligence

React Node.js PostgreSQL Redis Google AI


Overview

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.

Deployment Status

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

Key Innovation

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.

Key Features

For Students

  • 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

For Teachers

  • 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

For Administrators

  • 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

Gallery & Proof of Work

Responsive Dashboard

Student Dashboard

Teacher Dashboard

AI Evaluation Report In Locally

AI Evaluation Report In Locally

Tech Stack

Frontend

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

Backend

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

AI & Processing

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

Infrastructure

  • Supabase (Database + Auth)
  • Upstash Redis (Serverless Redis)
  • Stripe (Payment gateway)

Quick Start

Prerequisites

  • Node.js 20+ and npm
  • PostgreSQL database (Supabase account)
  • Redis instance (Upstash account)
  • Google AI API Key (Gemini)

Installation

# 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 dev

Visit http://localhost:5173 to access the application.


System Architecture

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
Loading

Project Structure

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

πŸ“– Documentation

Security Features

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

Key Workflows

Student Revaluation Request

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
Loading

Teacher Grading Workflow

  1. View Dashboard β†’ See assigned requests (Smart Matching)
  2. Upload Script β†’ Multi-page PDF converted to images
  3. Trigger AI β†’ Google Gemini analyzes against answer key
  4. Review Feedback β†’ Edit AI comments, adjust score
  5. Publish β†’ Student receives final result + notification

Testing

# Run backend tests
cd backend
npm test

# Run frontend tests
cd frontend
npm test

# Run E2E tests
npm run test:e2e

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.


Authors


Acknowledgments

  • Google Gemini AI for advanced vision models
  • Supabase for database infrastructure
  • Upstash for serverless Redis
  • The open-source community

Made with ❀️ for Educational Transparency

⬆ Back to Top

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages