Administrator Guide

Administrator Guide

End-to-end operational guide for system administrators. Covers every aspect of managing workstations, students, questions, exams, and real-time monitoring from the AEGIS dashboard.

Logging In

Navigate to /login. Enter the credentials created during database seeding. On success, the server sets an auth HttpOnly cookie and redirects to /dashboard. Sessions persist until explicitly logged out.

Security Note: Passwords are currently stored in plain text in the database. For production deployments, it is strongly recommended to hash passwords using bcrypt before storing them. This is noted as a priority in the roadmap.

Dashboard Overview

The main dashboard displays four key metrics: Total Students, Total Questions, Active PCs (from total approved), and Upcoming Exams within 30 days. It also renders an Upcoming Exams list and a Question Distribution bar chart by difficulty.

Admin Dashboard Overview

Admin Dashboard — metrics, upcoming exams, and question distribution chart

Approving Workstations

When a lab PC visits the root page (/) and submits its name, it creates a pending entry in pc_requests. The admin must approve it from /dashboard/pcs.

PC Registration
  1. Navigate to PCs in the sidebar.
  2. Find the pending request in the PC Requests table.
  3. Click Approve. The system moves the document from pc_requests to pcs with status: 'Approved'.
  4. The client's portal page will update on its next poll cycle (every few seconds) and display the student assignment.

Mapping Students to PCs

From the PCs dashboard, each approved PC can be assigned a student from a dropdown. This sets pc.assignedStudentId in MongoDB. The PC client immediately picks up this assignment on its next getPcStatus call and displays the student's name, roll number, exam title, and exam status.

Student Waiting Room

The student-facing portal shows their mapped exam and current status

Managing Students

The Students page displays a searchable, sortable table of all registered students with their roll numbers, class/batch, and assigned exams.

Student Management
  • Add Student: Opens a form for manual entry of name, roll number, class/batch, and optional exam assignment.
  • Edit Student: Updates any field. Changing the exam assignment immediately reflects on the mapped PC.
  • Delete Student: Performs a cascading removal — also nullifies all PC mappings referencing this student.
  • Assign Exam to Selected: Batch-assigns an exam to all checked students simultaneously.

AI-Assisted Question Bank

The Questions page provides a full CRUD interface for the question bank. Questions can be MCQ (2–4 options) or coding questions with a language selector and code snippet field.

Question Creation

The AI integration via Google Genkit (Gemini model) automatically suggests difficulty level and semantic tags from the question text, reducing manual categorization effort.

CSV Format Reference

Questions CSV (10 columns)

#ColumnRequiredFormat / Constraints
1Question TextYesMin 10 chars. Supports LaTeX math notation.
2–5Option 1–41,2 required3 and 4 are optional, leave blank.
6Correct OptionsYes0-based indices. E.g., 0 or 0,2 (no spaces).
7CategoryYesCase-sensitive: Easy, Medium, or Hard.
8TagsNoSemicolon-delimited. E.g., Math;Algebra.
9WeightYesNon-negative number. E.g., 2.
10Negative MarkingYestrue/false or 1/0.

Students CSV (3–4 columns)

#ColumnRequiredNotes
1NameYesFull student name.
2Roll NumberYesMust be globally unique. Batch rejects on collision.
3Class/BatchYesE.g., CSE-2024.
4Exam ID or TitleNoResolved by ID first, then case-insensitive title match.

Live Exam Monitoring

The Live Status panel at /dashboard/live-status shows a card for every active PC, displaying the assigned student, their exam, current liveStatus, and the lastSeen timestamp. PCs that have not sent a heartbeat in over 30 seconds should be considered offline.

Live Exam Status

Results & Analytics

The Results panel provides a comprehensive view of all exam submissions. Key metrics displayed include total submissions, average score, pass rate, and score range. Two charts are rendered: a Score Distribution histogram and a Per-Exam Performance bar chart.

Exam Results

Results can be exported as CSV. All data originates from the immutable exam_results collection — once submitted, results cannot be altered through the UI.

Audit Logs

Every write operation performed through the admin dashboard writes an entry to admin_logs. The Logs page displays these in reverse chronological order.

ActionTrigger
Admin Logged InSuccessful authenticate() call
Created QuestionsaveQuestion() success
Bulk Uploaded QuestionsbulkUploadQuestions() inserts
Added StudentaddStudent() success
Deleted StudentdeleteStudent() success (cascading)