How vicharanashala/vibe works
ViBe is an educational platform for course-based learning, continuous assessment, and academic integrity. Students access courses, registration, issue reporting, and progress features; instructors manage courses and enrollment. Assessment and course content are supported by quiz, AI, and media modules, while proctoring and ejection policies provide integrity safeguards. The graph combines documented capabilities with sampled routing and service/repository relationships. Many feature implementations were not sampled, so their internal connections are omitted rather than inferred.
Main entry points: student-routes.tsx Student routes · AutoEjectionEngine.ts Automatic ejection · FAQRetrievalService.ts FAQ retrieval · QuestionProcessor.ts Quiz assessment
Components 23
Learning and assessment
- Student routes
frontend/src/app/routes/student-routes.tsx - Leaderboard
frontend/src/app/pages/student/leaderboard.tsx - Learning progress
backend/src/modules/users/services/ProgressService.ts - Quiz assessment
backend/src/modules/quizzes/question-processing/QuestionProcessor.ts - Course content
backend/src/modules/courses/controllers/ItemController.ts
Enrollment and course operations
- Course registration
frontend/src/app/pages/student/CourseRegistration.tsx - Teacher routes
frontend/src/app/routes/teacher-routes.tsx - Enrollment management
frontend/src/app/pages/teacher/course-enrollments.tsx - Enrollment API
backend/src/modules/users/controllers/EnrollmentController.ts - Enrollment service
backend/src/modules/users/services/EnrollmentService.ts - Enrollment data
backend/src/shared/database/providers/mongo/repositories/EnrollmentRepository.ts
Integrity and support
- Issue reporting
frontend/src/app/pages/student/FlagResponse.tsx - Smart proctoring
v3/packages/proctoring/src/lib/media-checks.ts - Automatic ejection
backend/src/modules/ejectionPolicy/services/AutoEjectionEngine.ts - Ejection policies
backend/src/modules/ejectionPolicy/repositories/providers/mongodb/EjectionPolicyRepository.ts - Manual ejection
backend/src/modules/ejectionPolicy/services/ManualEjectionService.ts - FAQ retrieval
backend/src/modules/supportChat/services/FAQRetrievalService.ts - FAQ storage
backend/src/modules/supportChat/repositories/providers/mongodb/index.ts
AI and media
- AI question generation
backend/src/modules/genAI/services/GenAIService.ts - Video storage
backend/src/modules/media/services/storage/VideoStorageService.ts
Other components
- Student
- Teacher
- Embedding provider
Connections 18
- Student → Student routes: opens
frontend/src/app/routes/student-routes.tsx - Student routes → Course registration: routes to
frontend/src/app/routes/student-routes.tsx - Student routes → Issue reporting: routes to
frontend/src/app/routes/student-routes.tsx - Student routes → Leaderboard: routes to
frontend/src/app/routes/student-routes.tsx - Teacher → Teacher routes: opens
frontend/src/app/routes/teacher-routes.tsx - Teacher routes → Enrollment management: routes to
frontend/src/app/routes/teacher-routes.tsx - Enrollment API → Enrollment service: calls
backend/src/modules/users/controllers/EnrollmentController.ts - Enrollment service → Enrollment data: queries
backend/src/modules/users/services/EnrollmentService.ts - Enrollment data → Learning progress: uses progress data
- Automatic ejection → Ejection policies: loads policies
backend/src/modules/ejectionPolicy/services/AutoEjectionEngine.ts - Automatic ejection → Manual ejection: ejects learners
backend/src/modules/ejectionPolicy/services/AutoEjectionEngine.ts - FAQ retrieval → FAQ storage: loads FAQs
backend/src/modules/supportChat/services/FAQRetrievalService.ts - FAQ retrieval → Embedding provider: requests embeddings
backend/src/modules/supportChat/services/FAQRetrievalService.ts - Student → Course content: learns through
- Student → Quiz assessment: takes assessments
- Quiz assessment → AI question generation: gets generated questions
- Student → Smart proctoring: is monitored by
- Course content → Video storage: uses video assets