Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 Student Feedback System

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


📌 Project Overview

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).


✨ Features

👨‍🎓 Student Features

  • Submit feedback with name, email, message, and rating
  • Instant client-side and server-side validation
  • Confirmation page after successful submission

👨‍💼 Administrator Features

  • Analytics dashboard showing total submissions, average rating, and recent feedback
  • View individual feedback entries
  • Delete feedback entries
  • Paginated feedback listing via API

🔒 System Features

  • RESTful API with structured JSON responses
  • Health check endpoint for uptime monitoring
  • Security middleware (Helmet, CORS)
  • Request logging (Morgan)

🛠 Technology Stack

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

📂 Project Structure

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

⚙️ Installation & Local Setup

Prerequisites

  • Node.js >= 18
  • npm
  • Web Browser

1. Clone the Repository

git clone https://github.com/FathimaNufla2000/student-feedback-system.git

2. Move into the Project

cd student-feedback-system/backend

3. Install Dependencies

npm install

4. Configure Environment Variables

Create a .env file inside backend/:

PORT=8080
NODE_ENV=development

5. Run the Application

npm run dev     # with nodemon (auto-restart)
# or
npm start

Open your browser and visit:

http://localhost:8080

6. Run with Docker (optional)

docker build -t student-feedback-system .
docker run -p 8080:8080 student-feedback-system

🌐 API Endpoints

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

🗄 Data Storage

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.


🚧 Future Enhancements

  • 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

🌐 Live Demo

https://student-feedback-system-orpin.vercel.app


👩‍💻 Author

Fathima Nufla GitHub · LinkedIn


📄 License

This project was developed for educational and academic purposes.

About

A full-stack Student Feedback System (FYP) built with Node.js/Express backend and vanilla HTML/CSS frontend, featuring feedback submission, an analytics dashboard, and Cloud Run deployment via Docker.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages