How nikhil-tiwari1419/campusvoice works
ComplainBoX is a role-based campus complaint and issue-management application. Students register and complete a profile, submit or browse complaints, and vote; administrators review and manage issues, while superadmins manage administrators. The React app routes users to role-specific screens, and the Express API dispatches authenticated requests to controllers that operate on MongoDB models. The README is empty, and several frontend API modules and backend controllers were not sampled, so their internal request wiring and some management details are represented only where routes or source establish them.
Main entry points: App.jsx Web router · app.js API application · user.controller.js Student profiles and feed · user.routes.js Student routes
Components 31
Web application
- Web router
ComplainBoX/src/App.jsx - Login and verify
ComplainBoX/src/pages/Auth/Login.jsx - Student screens
ComplainBoX/src/pages/UserProfile/ComplainBox.jsx - Admin screens
ComplainBoX/src/pages/AdminProfile/AllComplain.jsx - Admin setup
ComplainBoX/src/pages/Superadmin.jsx/sadmin.jsx - Session context
ComplainBoX/src/context/auth.jsx
API and access
- API application
server/src/app.js - Auth routes
server/src/routes/auth.routes.js - Student routes
server/src/routes/user.routes.js - Program routes
server/src/routes/program.routes.js - Admin routes
server/src/routes/admin.routes.js - Superadmin routes
server/src/routes/Superadmin.route.js - OAuth routes
server/src/routes/oauth.routes.js
Complaint services
- Authentication
server/src/controller/auth.controller.js - Student profiles and feed
server/src/controller/user.controller.js - Complaint handling
server/src/controller/complainBox.controller.js - Complaint voting
server/src/controller/vote.controller.js - Admin operations
server/src/controller/admin.controller.js - Admin provisioning
server/src/controller/SuperAdmin.controller.js - Program lookup
server/src/controller/program.controller.js
Persistent data
- User records
server/src/model/user.model.js - Complaint records
server/src/model/complainBox.model.js - Vote records
server/src/model/vote.model.js - OTP records
server/src/model/otp.model.js - Refresh tokens
server/src/model/refreshToken.model.js - Program records
server/src/model/Program.model.js - Branch records
server/src/model/Branch.model.js - Batch records
server/src/model/Batch.model.js
Other components
- Student
- Administrator
- Superadmin
Connections 38
- Student → Web router: uses
- Administrator → Web router: uses
- Superadmin → Web router: uses
- Web router → Login and verify: routes
- Web router → Student screens: routes
- Web router → Admin screens: routes
- Web router → Admin setup: routes
- Web router → Session context: provides session
- API application → Auth routes: mounts
- API application → Student routes: mounts
- API application → Program routes: mounts
- API application → Admin routes: mounts
- API application → Superadmin routes: mounts
- API application → OAuth routes: mounts
- Auth routes → Authentication: dispatches
- Student routes → Student profiles and feed: dispatches
- Student routes → Complaint handling: dispatches
- Student routes → Complaint voting: dispatches
- Program routes → Program lookup: dispatches
- Admin routes → Admin operations: dispatches
- Superadmin routes → Admin provisioning: dispatches
- Authentication → User records: reads/writes
- Authentication → OTP records: reads/writes
- Authentication → Refresh tokens: reads/writes
- Student profiles and feed → User records: reads/writes
- Student profiles and feed → Batch records: reads
- Student profiles and feed → Complaint records: reads
- Student profiles and feed → Vote records: reads
- Complaint handling → Complaint records: reads/writes
- Complaint voting → Vote records: reads/writes
- Admin operations → User records: reads/writes
- Admin operations → Complaint records: reads/writes
- Admin provisioning → User records: reads/writes
- Admin provisioning → Program records: reads
- Admin provisioning → Branch records: reads
- Program lookup → Program records: reads
- Program lookup → Branch records: reads
- Program lookup → Batch records: reads