How sania248/interviewvault works
InterviewVault lets candidates discover, read, and contribute interview experiences. The main path runs from browser pages to Express API routes and controllers, which query or update MongoDB; users can search and filter listings, open details, and then contribute or interact through authenticated operations. Separate flows cover registration/login, profiles, bookmarks, and owner-checked edits and deletions. The README documents these capabilities; the sampled source confirms the experience, authentication, and bookmark wiring, while several frontend scripts and user routes were not sampled, so their internal call details are not expanded.
Main entry points: app.js API requests · server.js Express application · authMiddleware.js JWT verification · experienceRoutes.js Experience routes
Components 21
Browser experience
- Browse and search
frontend/app.js - Experience details
frontend/experience.js - Share experience
frontend/share.js - Register and login
frontend/login.js - Profile and posts
frontend/profile.js - Saved posts
frontend/bookmarks.js - Edit experience
frontend/edit.js - API requests
frontend/app.js
API routing
- Express application
backend/server.js - Authentication routes
backend/routes/authRoutes.js - Experience routes
backend/routes/experienceRoutes.js - User routes
backend/routes/UserRoutes.js
Identity and access
- Account logic
backend/controllers/authController.js - JWT verification
backend/middleware/authMiddleware.js
Experience and users
- Experience operations
backend/controllers/experienceController.js - Profile and bookmarks
backend/controllers/UserController.js
Persistence
- User records
backend/models/User.js - Experience records
backend/models/Experience.js - User activity model
backend/models/UserActivity.js
Other components
- Candidate
- MongoDB
Connections 27
- Candidate → Browse and search: searches
- Candidate → Register and login: registers or logs in
- Candidate → Share experience: submits experience
- Browse and search → API requests: requests listings
- Experience details → API requests: requests details
- Share experience → API requests: submits post
- Register and login → API requests: sends credentials
- Profile and posts → API requests: requests profile
- Saved posts → API requests: requests saved posts
- Edit experience → API requests: updates post
- API requests → Express application: calls API
- Express application → Authentication routes: mounts routes
- Express application → Experience routes: mounts routes
- Express application → User routes: mounts routes
- Authentication routes → Account logic: dispatches
- Experience routes → Experience operations: dispatches
- Experience routes → JWT verification: guards protected routes
- JWT verification → Experience operations: continues request
- User routes → JWT verification: guards routes
- JWT verification → Profile and bookmarks: continues request
- Account logic → User records: reads and writes
- Experience operations → Experience records: reads and writes
- Profile and bookmarks → User records: reads and writes
- Profile and bookmarks → Experience records: loads bookmark target
- Express application → MongoDB: connects
- User records → MongoDB: persists data
- Experience records → MongoDB: persists data