The problem
Hostel mess committees decide weekly menus with almost no structured input from the students who actually eat the food: complaints surface as corridor gossip or WhatsApp messages, and popular dishes get dropped while unpopular ones repeat. This project solves that with a dedicated voting and feedback web app for one hostel mess. Students log in, see the day's menu, vote for their favourite dish per meal, and submit star-rated feedback; the mess committee gets a moderated feedback inbox, participation statistics, and weekly analytics showing which dishes earned the most votes and which ones need review. The voting loop is closed: the committee uses the analytics to draft next week's menu and publishes it back into the app. The project demonstrates the full web development cycle — authentication, role-based views, CRUD operations, vote counting logic, data aggregation for charts, and a clean dashboard UI.
Registers with room number, votes on dishes and submits star-rated feedback.
Follow the working sequence
How it works
- The mess committee creates an admin account and publishes the weekly menu (7 days × 3 meals) through the admin panel.
- Students register with their room number, verify their account, and log in to the student dashboard.
- Each morning the daily poll opens; the student browses today's dishes and votes once per dish, with live counts and percentages updating instantly.
- Students submit star-rated feedback after meals; comments land in the admin moderation queue before appearing publicly.
- At 10:00 PM the poll locks; votes are frozen and the results are archived for the week.
- The admin dashboard aggregates the week: dish rankings, satisfaction trend charts, and participation rates.
- The committee reviews the analytics, drafts next week's menu from the top-voted dishes, and publishes it — completing the feedback loop.
Tech stack:
- HTML5, CSS3, vanilla JavaScript
- Node.js with Express.js (REST API)
- MongoDB with Mongoose (ODM)
- JWT-based authentication
- Chart.js for analytics dashboards
- bcrypt password hashing
- Nodemailer (OTP/announcement emails)
| Parameter | Value |
|---|---|
| Application type | Client–server web application (desktop + mobile browser) |
| User roles | Student, Mess committee admin |
| Database | MongoDB (students, menus, votes, feedback collections) |
| Authentication | JWT session tokens with bcrypt-hashed passwords |
| Voting rules | One vote per dish per student, poll locks at 10:00 PM (configurable) |
| Analytics | Dish vote rankings, weekly satisfaction trend, participation percentage |
| Charts | Chart.js bar/line charts on the admin dashboard |
| Deployment | Runs on any Node.js host; MongoDB Atlas or local MongoDB |
| Browser support | Modern Chrome, Edge, Firefox, Safari |
| Response time | Design target: page loads under 2 seconds on a typical broadband connection |
Project features
- [Daily dish voting] Students cast one vote per dish per meal (breakfast, lunch, dinner); the app prevents duplicate votes and shows live vote counts with percentage bars.
- [Star-rated feedback] A feedback form with 1–5 star ratings, meal selection and free-text comments, plus a public feedback feed of approved comments.
- [Feedback moderation queue] Admin reviews pending comments and approves or rejects them, keeping the public feed clean.
- [Weekly analytics dashboard] Most-voted dishes, least-voted review candidates, average satisfaction trend, and participation statistics rendered as bar charts.
- [7-day published menu view] The committee publishes the weekly menu once; students browse it day-by-day with today highlighted.
- [Student and admin roles] Separate logins with role-based views: voting and feedback for students, analytics, moderation and menu publishing for the committee.
- [Auto-suggested next-week draft] The app ranks dishes by approval votes so the committee can draft the next menu from data instead of guesswork.
What is included
- Complete web app source code (frontend + Node.js/Express backend)
- MongoDB schema and seed data (sample weekly menu, sample votes, sample feedback)
- Setup and deployment instructions (local + hosted)
- Project report PDF (background, requirements, design, implementation, testing)
- PPT presentation for final review
- Viva Q&A preparation document (REST APIs, JWT auth, MongoDB modeling, vote-aggregation queries)
- Demo walkthrough guide for the project demonstration
Limitations & prerequisites
- One hostel mess per deployment — multi-hostel support is listed as customization, not included.
- Vote integrity depends on room-number registration; the build does not include college ERP/SSO integration (available as customization).
- Real-time vote updates use polling refresh, not WebSockets; sub-second live updates are not guaranteed.
- The demo seed data is illustrative; actual analytics quality depends on real student participation.
- Email OTP announcements need the buyer's own SMTP credentials (Nodemailer) — credentials are never bundled.
- Hosting and domain costs are not part of the software and are the buyer's responsibility.
Frequently Asked Questions
Is the database included?
Yes. The project ships with the full MongoDB schema plus seed data — a sample weekly menu, sample votes and sample feedback — so the app works immediately after setup and the analytics dashboard has data to render.
Does the project contain an admin panel?
Yes. The mess-committee admin gets a dashboard with weekly analytics (dish rankings, satisfaction trend, participation), a feedback moderation queue, menu publishing, and the auto-suggested next-week draft.
Can it be hosted online?
Yes. The backend runs on any Node.js host and the database on MongoDB Atlas or a local MongoDB instance. The setup guide covers both local and hosted deployment; hosting and domain costs are the buyer's own.
Can more roles or modules be added?
Yes — realistic extensions include a warden/supervisor view, multi-hostel support, WebSocket live voting, and college ERP/SSO login. These are quoted as customizations, not part of the base build.
Is payment gateway integration included?
No — the base project has no payments. Mess-fee tracking or payment modules can be added as a customization on request.
Is this project suitable for a final-year project?
Yes — for Computer Science, IT and Web Development programs. It demonstrates REST API design, JWT authentication, MongoDB data modeling, aggregation queries, role-based UI, and a genuinely useful analytics dashboard. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and Web Development.
Components & software requirements
- HTML5, CSS3, vanilla JavaScript
- Node.js with Express.js (REST API)
- MongoDB with Mongoose (ODM)
- JWT-based authentication
- Chart.js for analytics dashboards
- bcrypt password hashing
- Nodemailer (OTP/announcement emails)
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and email — the synopsis PDF downloads immediately. We may send occasional project updates; no spam, unsubscribe anytime.