Skip to content

Commit 5b382dc

Browse files
Backend added for feedback form and styles fixed
1 parent 5f0fb28 commit 5b382dc

6 files changed

Lines changed: 1687 additions & 28 deletions

File tree

Official_Website/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
.env
3+
package-lock.json

Official_Website/index.html

Lines changed: 45 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -113,32 +113,51 @@ <h2>Feedback</h2>
113113
<script>
114114
// Feedback JS
115115
document.getElementById("feedback-form").addEventListener("submit", function(event) {
116-
event.preventDefault();
117-
118-
var name = document.getElementById("name").value;
119-
var email = document.getElementById("email").value;
120-
var comments = document.getElementById("comments").value;
121-
var rating = document.querySelector('input[name="rating"]:checked');
122-
123-
if (!rating) {
124-
var errorMessage = document.getElementById("error-message");
125-
errorMessage.innerText = "Please select a Rating!";
126-
errorMessage.style.display = "block";
127-
setTimeout(function() {
128-
errorMessage.style.display = "none";
129-
}, 3000);
130-
return;
131-
}
132-
133-
var messageElement = document.getElementById("message");
134-
messageElement.innerText = "Thank you for your feedback!";
135-
messageElement.style.display = "block";
136-
137-
setTimeout(function() {
138-
messageElement.style.display = "none";
139-
document.getElementById("feedback-form").reset();
140-
}, 3000);
141-
});
116+
event.preventDefault();
117+
118+
if (!document.querySelector('input[name="rating"]:checked')) {
119+
var errorMessage = document.getElementById("error-message");
120+
errorMessage.innerText = "Please select a rating!";
121+
errorMessage.style.display = "block";
122+
setTimeout(function() {
123+
errorMessage.style.display = "none";
124+
}, 3000);
125+
return;
126+
}
127+
const formData = {
128+
name: document.getElementById("name").value,
129+
email: document.getElementById("email").value,
130+
comments: document.getElementById("comments").value,
131+
rating: document.querySelector('input[name="rating"]:checked').value
132+
};
133+
console.log(formData);
134+
fetch('http://127.0.0.1:3000/feedback', {
135+
method: 'POST',
136+
headers: {
137+
'Content-Type': 'application/json'
138+
},
139+
body: JSON.stringify(formData)
140+
})
141+
.then(response => response.json())
142+
.then(data => {
143+
console.log('Success:', data);
144+
document.getElementById("message").innerText = "Thank you for your feedback!";
145+
document.getElementById("message").style.display = "block";
146+
setTimeout(function() {
147+
document.getElementById("message").style.display = "none";
148+
document.getElementById("feedback-form").reset();
149+
}, 3000);
150+
})
151+
.catch((error) => {
152+
console.error('Error:', error);
153+
var errorMessage = document.getElementById("error-message");
154+
errorMessage.innerText = "There was an error submitting your feedback.";
155+
errorMessage.style.display = "block";
156+
setTimeout(function() {
157+
errorMessage.style.display = "none";
158+
}, 3000);
159+
});
160+
});
142161
</script>
143162
</body>
144163
</html>

Official_Website/index.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import express from 'express';
2+
import bodyParser from 'body-parser';
3+
import cors from 'cors';
4+
import mongoose from 'mongoose';
5+
const app = express();
6+
const port = 3000;
7+
import Feedback from './models/feedback.js';
8+
9+
app.use(bodyParser.json());
10+
app.use(cors());
11+
12+
const URL='mongodb://localhost:27017/feedbackGSSCO';
13+
14+
const main = async()=>{
15+
await mongoose.connect(URL)
16+
.then(() => console.log("MongoDB connected"))
17+
.catch((err) => console.log(err));
18+
}
19+
main()
20+
.catch((err) => console.log(err));
21+
22+
app.post('/feedback', async(req, res) => {
23+
const data = req.body;
24+
// console.log(`Name: ${name}, Email: ${email}, Comments: ${comments}, Rating: ${rating}`);
25+
res.json({ status: 'success', message: 'Feedback submitted successfully' });
26+
27+
const feedback = new Feedback(data);
28+
await feedback.save()
29+
.then(() => console.log("Feedback submitted successfully"))
30+
.catch((err) => console.log(err));
31+
32+
});
33+
34+
app.listen(port, () => {
35+
console.log(`Server running at http://127.0.0.1:${port}`);
36+
});
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import mongoose from "mongoose";
2+
3+
const Schema=mongoose.Schema;
4+
const feedbackSchema = new Schema({
5+
name: String,
6+
email: String,
7+
comments: String,
8+
rating: Number
9+
});
10+
const Feedback = mongoose.model('Feedback', feedbackSchema);
11+
12+
export default Feedback;

0 commit comments

Comments
 (0)