Skip to content

lukmanu1/FeedBackCollector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 Feedback Collector System

This is a full-stack web application built to create, collect, and analyze feedback for events, projects, or experiences. Organizers can generate feedback forms and users can submit responses with star ratings and comments.

🚀 Features

  • Create feedback forms with titles and descriptions
  • Generate a unique link to share the form
  • Submit feedback with star rating and comments
  • View feedback summary: average rating and total responses
  • Role-based authentication (Admin/User)
  • Secure login & JWT-based session management

🛠️ Tech Stack

Frontend

  • HTML, CSS, JavaScript
  • Fetch API
  • EJS (for rendering feedback forms)

Backend

  • Node.js
  • Express.js
  • MySQL2
  • JWT for authentication
  • Bcrypt for password hashing
  • CORS support
  • dotenv for environment configuration

⚙️ Setup Instructions

1. Clone the Repository

git clone https://github.com/Lukmanul-Hakeem/FeedBackCollector.git
cd FeedBackCollector

2. Install Dependencies

npm install

3. Create .env File

PORT=3000
DB_HOST=localhost
DB_USER=your_mysql_user
DB_PASSWORD=your_mysql_password
DB_NAME=feedbackcollector
JWT_SECRET=your_secret_key

4. Create the MySQL Database

CREATE DATABASE feedbackcollector;

-- Example tables (simplified)
CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100),
  email VARCHAR(100) UNIQUE,
  password VARCHAR(255)
);

CREATE TABLE feedbacks (
  id INT AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(255),
  description TEXT,
  uuid VARCHAR(255),
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  user_id INT,
  FOREIGN KEY (user_id) REFERENCES users(id)
);

CREATE TABLE feedback_responses (
  id INT AUTO_INCREMENT PRIMARY KEY,
  feedback_id INT,
  rating INT,
  comment TEXT,
  submitted_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (feedback_id) REFERENCES feedbacks(id)
);

5. Start the Server

npm run devStart

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors