Open Source · v0.1.0 · MIT License

Secure Exams.
Intelligently Proctored.

AEGIS ExamLab is a production-ready, open-source examination management platform built on Next.js 14 and MongoDB. It enforces strict server-side validation, real-time telemetry, and AI-assisted question management for lab-scale deployments.

Next.js 14

App Router Framework

MongoDB

Primary Database

Genkit AI

Question Intelligence

TypeScript

End-to-End Type Safety

A Complete Examination Ecosystem

Every component is purpose-built for security and reliability in academic lab environments.

Workstation Registration

PCs self-register via a browser form and receive a cryptographic uniqueIdentifier persisted to localStorage. Admin approval gates all exam access.

Student Management

Full CRUD with bulk CSV ingestion (10-column schema), duplicate roll number detection, and optional exam assignment per student. Enforces DB-level uniqueness on rollNumber.

AI Question Bank

Powered by Google Genkit (Gemini model). Auto-classifies questions by difficulty (Easy/Medium/Hard), generates semantic tags, and supports LaTeX and coding snippet rendering.

Server-Side Validation

No exam data reaches the client without passing a 5-point server-side validation chain: PC approval → student mapping → exam assignment → status check → duplicate submission guard.

Live Telemetry

Every active workstation pulses heartbeats to the server every 15 seconds via HTTP polling, updating its liveStatus from Online → Attempting → Finished with lastSeen timestamps.

Audit Logging

Every admin action (login, student creation, exam control) is recorded with a timestamp and admin identity into the admin_logs collection. Fully queryable from the Logs dashboard panel.

Up and Running in 60 Seconds

# 1. Clone and install
git clone https://github.com/ERROR-SIDDH/AEGIS.git && cd AEGIS
npm install

# 2. Configure environment
cp .env.example .env
# Edit .env with your MONGODB_URI and GEMINI_API_KEY

# 3. Seed default admin credentials
node scripts/seed-db.js

# 4. Start development server (port 9002)
npm run dev
Full Setup Guide →

Explore the Documentation

🚀

Getting Started

Installation, environment config, database seeding, Docker deployment.

🏗️

Architecture

System design, data models, security posture, telemetry, and routing.

📡

API Reference

Complete documentation for all Server Actions, parameters, and return types.

🤝

Contributing

Roadmap, OS-level future work, PR guidelines, and development setup.