How ananyo-sen-b2530066/quiz_platform works
Quiz Platform supports creator signup/login, quiz authoring and sharing, public timed quiz attempts, and creator-facing results. The runtime routes requests to controllers, which use MongoDB models; quiz authoring can upload media to Cloudinary. The README also documents analytics and multiple question types. Frontend pages and some controller behavior were not sampled, so links beyond those shown in the server and route wiring are omitted.
Main entry points: server.js HTTP server · quiz.js Quiz routes · middleware/auth.js JWT auth · routes/auth.js Auth routes
Components 18
Web entry
- Web pages
public - HTTP server
src/server.js
Identity
- Auth routes
src/routes/auth.js - JWT auth
src/middleware/auth.js - Account service
src/controllers/authController.js
Quiz authoring
- Quiz routes
src/routes/quiz.js - Quiz management
src/controllers/quizController.js - Media upload
src/middleware/upload.js
Quiz taking
- Taking and results pages
public - Attempt routes
src/routes/attempt.js - Attempt scoring and results
src/controllers/attemptController.js
Persistence and media
- User records
src/models/User.js - Quiz records
src/models/Quiz.js - Cloudinary client
src/config/cloudinary.js - Attempt records
src/models/Attempt.js
Other components
- Creator
- Quiz taker
- Cloudinary
Connections 22
- Creator → Web pages: uses
- Quiz taker → Taking and results pages: uses
- Web pages → HTTP server: requests
- HTTP server → Auth routes: mounts
src/server.js - HTTP server → Quiz routes: mounts
src/server.js - HTTP server → Attempt routes: mounts
src/server.js - HTTP server → Web pages: serves
src/server.js - Auth routes → Account service: dispatches
src/routes/auth.js - Auth routes → JWT auth: guards profile
src/routes/auth.js - Account service → User records: reads and writes
src/controllers/authController.js - JWT auth → User records: loads user
src/middleware/auth.js - Quiz routes → JWT auth: guards routes
src/routes/quiz.js - Quiz routes → Media upload: accepts media
src/routes/quiz.js - Quiz routes → Quiz management: dispatches
src/routes/quiz.js - Quiz management → Quiz records: reads and writes
src/controllers/quizController.js - Quiz management → Cloudinary client: uploads via
src/controllers/quizController.js - Cloudinary client → Cloudinary: configures client
- Taking and results pages → HTTP server: requests
- Attempt routes → Attempt scoring and results: dispatches
src/routes/attempt.js - Attempt routes → JWT auth: guards creator routes
src/routes/attempt.js - Attempt scoring and results → Quiz records: reads quiz
src/controllers/attemptController.js - Attempt scoring and results → Attempt records: reads and writes
src/controllers/attemptController.js