-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
67 lines (56 loc) · 2.01 KB
/
server.js
File metadata and controls
67 lines (56 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
const express = require("express");
const bodyParser = require("body-parser");
const fs = require("fs");
const path = require("path");
const XLSX = require("xlsx");
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
// Path to Excel file
const filePath = path.join(__dirname, "registrations.xlsx");
// Function to save data to a specific sheet
function saveToExcel(sheetName, data) {
let workbook;
if (fs.existsSync(filePath)) {
workbook = XLSX.readFile(filePath);
} else {
workbook = XLSX.utils.book_new();
}
// Check if sheet already exists
let worksheet;
if (workbook.SheetNames.includes(sheetName)) {
worksheet = workbook.Sheets[sheetName];
let existingData = XLSX.utils.sheet_to_json(worksheet);
existingData.push(data);
worksheet = XLSX.utils.json_to_sheet(existingData);
} else {
worksheet = XLSX.utils.json_to_sheet([data]);
}
// Append/Update sheet
workbook.Sheets[sheetName] = worksheet;
if (!workbook.SheetNames.includes(sheetName)) {
XLSX.utils.book_append_sheet(workbook, worksheet, sheetName);
}
// Save workbook
XLSX.writeFile(workbook, filePath);
}
// ------------------- ROUTES --------------------
// Signup
app.post("/api/signup", (req, res) => {
saveToExcel("Signup", req.body);
res.json({ success: true, message: "Signup saved successfully!" });
});
// Live Class Registration
app.post("/api/live", (req, res) => {
saveToExcel("Live Classes", req.body);
res.json({ success: true, message: "Live class registration saved!" });
});
// Offline Class Registration
app.post("/api/offline", (req, res) => {
saveToExcel("Offline Classes", req.body);
res.json({ success: true, message: "Offline class registration saved!" });
});
// ------------------------------------------------
app.listen(5000, () => {
console.log("Server running on http://localhost:5000");
});