How rajput-itself/poonaexam works
PoonaExam is a modular web platform for authoring, delivering, supervising, and evaluating MCQ examinations. Faculty build question banks and exams; students authenticate, start an exam, save answers, and submit; results and analytics follow, while proctors monitor live sessions and security events. The React client uses the Express API, with Socket.IO documented for real-time proctoring and Prisma for relational persistence. The README documents several capabilities whose implementation details were not sampled, so those links are shown at subsystem level; source excerpts confirm selected controller-to-service and client-to-API calls.
Main entry points: index.ts API routes · index.tsx App router · api.ts API client · prisma.ts Relational database
Components 31
Web application
- React application
frontend/src/App.tsx - App router
frontend/src/app/router/index.tsx - Sign-in and registration
frontend/src/features/auth/LoginPage.tsx - Exam authoring
frontend/src/features/exams/ExamWizard.tsx - Question banks
frontend/src/features/questions/QuestionBankList.tsx - Question import
frontend/src/features/imports/ImportModal.tsx - Active exam engine
frontend/src/features/attempts/ActiveExamEngine.tsx - Results view
frontend/src/features/results/ExamResultView.tsx - Live proctor monitor
frontend/src/features/monitoring/LiveExamMonitor.tsx - Analytics dashboard
frontend/src/features/analytics/ExamAnalytics.tsx - Institute subscriptions
frontend/src/features/superadmin/SubscriptionManager.tsx - API client
frontend/src/services/api.ts
Assessment workflow
- Question management
backend/src/modules/questions/controller.ts - Question banks
backend/src/modules/question-banks/controller.ts - Import ingestion
backend/src/modules/imports/controller.ts - Exam management
backend/src/modules/exams/controller.ts - Exam attempts
backend/src/modules/attempts/controller.ts - Evaluation engine
backend/src/modules/evaluation/service.ts - Results service
backend/src/modules/results/controller.ts
Security and operations
- Security incidents
backend/src/modules/security/controller.ts - Proctoring sockets
backend/src/sockets/index.ts - Session monitoring
backend/src/modules/monitoring/controller.ts - Audit trail
backend/src/modules/audit/controller.ts - Exam analytics
backend/src/modules/analytics/controller.ts - User administration
backend/src/modules/users/controller.ts - Institute administration
backend/src/modules/superadmin/controller.ts
Backend platform
- API routes
backend/src/routes/index.ts - Authentication
backend/src/modules/auth/controller.ts - Relational database
backend/src/config/prisma.ts
Other components
- Students and staff
- Supabase auth service
Connections 48
- Students and staff → React application: uses
- React application → App router: renders
- App router → Sign-in and registration: routes to
- App router → Exam authoring: routes to
- App router → Question banks: routes to
- App router → Question import: routes to
- App router → Active exam engine: routes to
- App router → Results view: routes to
- App router → Live proctor monitor: routes to
- App router → Analytics dashboard: routes to
- App router → Institute subscriptions: routes to
- Sign-in and registration → API client: requests
- Exam authoring → API client: requests
- Question banks → API client: requests
- Question import → API client: requests
- Active exam engine → API client: saves answers
- Results view → API client: requests
- Live proctor monitor → API client: requests
- Analytics dashboard → API client: requests
- Institute subscriptions → API client: requests
- API client → API routes: HTTPS requests
- API routes → Authentication: dispatches
- API routes → Question management: dispatches
- API routes → Question banks: dispatches
- API routes → Import ingestion: dispatches
- API routes → Exam management: dispatches
- API routes → Exam attempts: dispatches
- API routes → Results service: dispatches
- API routes → Security incidents: dispatches
- API routes → Session monitoring: dispatches
- API routes → Audit trail: dispatches
- API routes → Exam analytics: dispatches
- API routes → User administration: dispatches
- API routes → Institute administration: dispatches
- Sign-in and registration → Supabase auth service: auth provider
- Exam attempts → Evaluation engine: evaluates submission
- Exam attempts → Security incidents: records incidents
- Session monitoring → Proctoring sockets: proctor events
- Active exam engine → Proctoring sockets: telemetry
- Exam attempts → Relational database: persists attempts
- Exam management → Relational database: persists exams
- Question management → Relational database: persists questions
- Question banks → Relational database: persists banks
- Import ingestion → Question management: ingests questions
- Results service → Relational database: reads results
- Exam analytics → Relational database: reads metrics
- Audit trail → Relational database: stores audit trail
- Institute administration → Relational database: manages institutes