Nished is a full-stack learning and assessment platform built to host coding content, projects, and online exams.
It includes an AI-based Proctoring System to monitor users during exams and store session-level proctoring data securely.
PROJECT LINK: https://nish-educates.netlify.app/
- 📚 Coding courses & pattern-based learning content
- 🧑💻 User authentication & profiles
- 📝 Assessments (MCQs + coding exams)
- 🔒 AI Proctoring system for online exams
- 📊 Exam session tracking & admin review
- ☁️ Cloud-based user & session storage (MongoDB Atlas)
- React
- React Router
- Axios
- CSS / Tailwind (if applicable)
- Node.js
- Express.js
- JWT Authentication
- Mongoose
- MongoDB Atlas (Cloud)
- User details
- Exam sessions
- Proctoring data
- Local filesystem
- Course content
- Static assets
- Proctoring evidence (small images / thumbnails)
NISHED
│
├── client/ # React frontend
│
├── server/ # Node.js backend
│ ├── controllers/
│ ├── routes/
│ ├── models/
│ ├── middleware/
│ └── uploads/ # Local evidence storage
│
├── content/ # Local course/lesson content
│
└── README.md
The AI Proctoring system monitors candidates during online exams and records behavior-based signals to ensure exam integrity.
- Camera access (face presence)
- Tab switching / window focus changes
- Session duration & activity timeline
- Proctoring flags (stored per session)
Note: All proctoring data is stored per session in MongoDB Cloud.
No external cloud storage or queues are used at this stage.
- User starts a proctored exam
- Exam session is created in MongoDB
- Browser permissions (camera, tab focus) are tracked
- Proctoring events are attached to the exam session
- Session summary is generated for review
{
"name": "User Name",
"email": "user@email.com",
"passwordHash": "...",
"role": "student"
}{
"userId": "ObjectId",
"examId": "exam_123",
"status": "in_progress",
"startedAt": "ISODate",
"endedAt": "ISODate",
"proctorSummary": {
"riskScore": 10,
"flags": ["tab_switch", "face_absent"]
}
}POST /api/auth/registerPOST /api/auth/login
POST /api/exams/:id/startPOST /api/exams/:id/submit
POST /api/proctor/eventGET /api/admin/session/:id
- Course content stored locally (not CMS-based yet)
- Proctoring logic is rule-based (ML expansion planned)
- No cloud object storage (S3 not used currently)
- ML-based face & gaze detection
- Cloud storage for large evidence files
- Redis-based real-time session handling
- Live human proctor option
- Exam playback timeline for admins
Nishtha Singh Full Stack Developer Project: Nished