How aakesh2195/new works
ScholarStack is a React/MongoDB student-management application. Students sign up and log in, browse and enroll in courses, view their profile, and generate and submit course quizzes; administrators manage courses, students, and statistics. Routes and controllers implement the API, with MongoDB-backed models and authentication/role checks. The README documents these capabilities; the quiz controller excerpt confirms QuizAPI integration. Unsampled page and controller details are represented only where the README or source index supports them.
Main entry points: server.js Express API · quizController.js Quiz generation and scoring · App.jsx Role-based app routes · api.js API client
Components 29
Web application
- Role-based app routes
frontend/src/App.jsx - Sign in and signup
frontend/src/pages/auth/login.jsx - Student learning pages
frontend/src/pages/student/AllCourses.jsx - Course quiz page
frontend/src/pages/student/CourseQuiz.jsx - Admin management pages
frontend/src/pages/admin/Courses.jsx - API client
frontend/src/api/api.js
API and access
- Express API
backend/server.js - Authentication routes
backend/routes/authRoutes.js - Course routes
backend/routes/courseRoutes.js - Enrollment routes
backend/routes/enrollmentRoutes.js - Quiz routes
backend/routes/quizRoutes.js - Student routes
backend/routes/studentRoutes.js - Admin routes
backend/routes/adminRoutes.js - Token authentication
backend/middleware/authMiddleware.js - Role authorization
backend/middleware/roleMiddleware.js - Account access
backend/controllers/authController.js
Learning services
- Course enrollment
backend/controllers/enrollmentController.js - Quiz generation and scoring
backend/controllers/quizController.js - Course management
backend/controllers/courseController.js - Student management
backend/controllers/studentController.js - Admin statistics
backend/controllers/adminController.js
MongoDB data
- Course records
backend/models/courseModel.js - Enrollment records
backend/models/enrollmentModel.js - User accounts
backend/models/userModel.js - Quiz records
backend/models/quizModel.js - Quiz attempts
backend/models/quizAttemptModel.js
Other components
- Student
- Administrator
- QuizAPI
Connections 41
- Student → Role-based app routes: uses
README.md - Administrator → Role-based app routes: uses
README.md - Role-based app routes → Sign in and signup: routes to
frontend/src/App.jsx - Role-based app routes → Student learning pages: routes to
frontend/src/App.jsx - Role-based app routes → Course quiz page: routes to
frontend/src/App.jsx - Role-based app routes → Admin management pages: routes to
frontend/src/App.jsx - Sign in and signup → API client: calls
frontend/src/pages/auth/login.jsx - Student learning pages → API client: calls
frontend/src/pages/student/AllCourses.jsx - Course quiz page → API client: calls
frontend/src/pages/student/CourseQuiz.jsx - Admin management pages → API client: calls
frontend/src/pages/admin/Courses.jsx - API client → Express API: requests
frontend/src/api/api.js - Express API → Authentication routes: mounts
backend/server.js - Express API → Course routes: mounts
backend/server.js - Express API → Enrollment routes: mounts
backend/server.js - Express API → Quiz routes: mounts
backend/server.js - Express API → Student routes: mounts
backend/server.js - Express API → Admin routes: mounts
backend/server.js - Authentication routes → Account access: dispatches
backend/routes/authRoutes.js - Course routes → Course management: dispatches
backend/routes/courseRoutes.js - Enrollment routes → Course enrollment: dispatches
backend/routes/enrollmentRoutes.js - Quiz routes → Quiz generation and scoring: dispatches
backend/routes/quizRoutes.js - Student routes → Student management: dispatches
backend/routes/studentRoutes.js - Admin routes → Admin statistics: dispatches
backend/routes/adminRoutes.js - Enrollment routes → Token authentication: checks token
backend/routes/enrollmentRoutes.js - Enrollment routes → Role authorization: checks role
backend/routes/enrollmentRoutes.js - Student routes → Token authentication: checks token
backend/routes/studentRoutes.js - Student routes → Role authorization: checks role
backend/routes/studentRoutes.js - Token authentication → User accounts: loads account
backend/middleware/authMiddleware.js - Account access → User accounts: reads and writes
backend/controllers/authController.js - Course enrollment → Course records: checks course
backend/controllers/enrollmentController.js - Course enrollment → Enrollment records: creates and reads
backend/controllers/enrollmentController.js - Course management → Course records: manages
backend/controllers/courseController.js - Student management → User accounts: manages
backend/controllers/studentController.js - Admin statistics → User accounts: reads
backend/controllers/adminController.js - Admin statistics → Course records: reads
backend/controllers/adminController.js - Admin statistics → Enrollment records: reads
backend/controllers/adminController.js - Quiz generation and scoring → Course records: loads course
backend/controllers/quizController.js - Quiz generation and scoring → Enrollment records: checks and updates
backend/controllers/quizController.js - Quiz generation and scoring → Quiz records: creates and reads
backend/controllers/quizController.js - Quiz generation and scoring → Quiz attempts: records attempts
backend/controllers/quizController.js - Quiz generation and scoring → QuizAPI: fetches questions
backend/controllers/quizController.js