A full-stack web application that streamlines the collection and analysis of student feedback. The system enables students to submit feedback through a simple web form, while administrators can view submissions and monitor analytics through a dashboard.
🔗 Repository: github.com/FathimaNufla2000/student-feedback-system
The Student Feedback System is a web-based application developed as a Final Year Project (FYP) to replace manual/paper-based feedback collection. It provides a REST API backend for handling feedback submissions and analytics, with a lightweight static frontend for students and administrators to interact with the system.
The system is designed to be simple, secure, and easily deployable containerized with Docker and ready for cloud deployment (Google Cloud Run / Vercel).
- Submit feedback with name, email, message, and rating
- Instant client-side and server-side validation
- Confirmation page after successful submission
- Analytics dashboard showing total submissions, average rating, and recent feedback
- View individual feedback entries
- Delete feedback entries
- Paginated feedback listing via API
- RESTful API with structured JSON responses
- Health check endpoint for uptime monitoring
- Security middleware (Helmet, CORS)
- Request logging (Morgan)
Frontend
- HTML5
- CSS3
Backend
- Node.js
- Express.js
- body-parser, cors, helmet, morgan, dotenv
Development Environment
- Node.js >= 18
- nodemon (hot-reload during development)
Deployment
- Docker
- Google Cloud Run / Vercel
student-feedback-system/
├── backend/
│ ├── index.js
│ ├── package.json
│ ├── package-lock.json
│ └── .env
├── frontend/
│ ├── index.html # Landing page
│ ├── feedback.html # Feedback submission form
│ ├── confirmation.html # Post-submission confirmation
│ ├── dashboard.html # Analytics dashboard
│ ├── about.html # About page
│ └── style.css
├── Dockerfile
├── vercel.json
└── README.md
- Node.js >= 18
- npm
- Web Browser
git clone https://github.com/FathimaNufla2000/student-feedback-system.gitcd student-feedback-system/backendnpm installCreate a .env file inside backend/:
PORT=8080
NODE_ENV=development
npm run dev # with nodemon (auto-restart)
# or
npm startOpen your browser and visit:
http://localhost:8080
docker build -t student-feedback-system .
docker run -p 8080:8080 student-feedback-system| Method | Endpoint | Description |
|---|---|---|
| GET | /health |
Health check |
| POST | /api/feedback |
Submit new feedback |
| GET | /api/feedbacks |
List feedback (paginated) |
| GET | /api/feedback/:id |
Get a single feedback entry |
| DELETE | /api/feedback/:id |
Delete a feedback entry |
| GET | /api/analytics |
Get analytics summary |
The application currently stores feedback in-memory (no external database). This is suitable for demonstration and academic evaluation, but data resets on server restart or redeploy. Connecting a persistent database (e.g. MongoDB Atlas) is a planned enhancement.
- Persistent database integration (MongoDB / PostgreSQL)
- Admin authentication for delete/manage actions
- Email notifications on new feedback
- Export feedback/analytics as CSV or PDF
- Charts and visual analytics on the dashboard
- Responsive mobile-friendly UI improvements
https://student-feedback-system-orpin.vercel.app
Fathima Nufla GitHub · LinkedIn
This project was developed for educational and academic purposes.