Register
<h2>Attendance Form</h2>
<form id="attendanceForm">
<input type="text" id="rollNumber" placeholder="Roll Number" required><br>
<input type="text" id="semester" placeholder="Semester" required><br>
<select id="honour">
<option value="Economics">Economics</option>
<option value="English">English</option>
<option value="Nepali">Nepali</option>
<option value="History">History</option>
<option value="Sociology">Sociology</option>
<option value="Education">Education</option>
<option value="Geography">Geography</option>
<option value="B.Com">B.Com</option>
<option value="Other">Other</option>
</select><br>
<input type="text" id="manualHonour" placeholder="Enter Honour (if Other)" style="display:none;"><br>
<button type="submit">Submit Attendance</button>
</form>
<script>
document.getElementById("honour").addEventListener("change", function() {
document.getElementById("manualHonour").style.display = this.value === "Other" ? "block" : "none";
});
document.getElementById("signupForm").addEventListener("submit", function(event) {
event.preventDefault();
fetch('/register', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: document.getElementById("name").value,
email: document.getElementById("email").value,
password: document.getElementById("password").value
})
}).then(response => response.json()).then(data => alert(data.message));
});
document.getElementById("attendanceForm").addEventListener("submit", function(event) {
event.preventDefault();
fetch('/submit-attendance', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
rollNumber: document.getElementById("rollNumber").value,
semester: document.getElementById("semester").value,
honour: document.getElementById("honour").value === "Other" ? document.getElementById("manualHonour").value : document.getElementById("honour").value
})
}).then(response => response.json()).then(data => alert(data.message));
});
</script>
const express = require('express');
const fs = require('fs');
const { google } = require('googleapis');
const bodyParser = require('body-parser');
const cors = require('cors');
const app = express(); app.use(cors()); app.use(bodyParser.json());
const credentials = JSON.parse(fs.readFileSync('credentials.json')); const { client_email, private_key } = credentials; const spreadsheetId = '1Jwup9CcanklZfewfHezCCq_mRjDZbq2H8DXaR_-QVVg';
const auth = new google.auth.JWT(client_email, null, private_key, ['https://www.googleapis.com/auth/spreadsheets']); const sheets = google.sheets({ version: 'v4', auth });
let users = [];
app.post('/register', (req, res) => { const { name, email, password } = req.body; if (users.some(user => user.email === email)) { return res.json({ message: "Email already registered!" }); } users.push({ name, email, password }); res.json({ message: "Registration successful!" }); });
app.post('/submit-attendance', async (req, res) => { const { rollNumber, semester, honour } = req.body;
try {
await sheets.spreadsheets.values.append({
spreadsheetId,
range: 'Sheet1!A:D',
valueInputOption: 'RAW',
requestBody: {
values: [[rollNumber, semester, honour, new Date().toLocaleString()]]
}
});
res.json({ message: "Attendance recorded successfully!" });
} catch (error) {
console.error(error);
res.status(500).json({ message: "Error submitting attendance" });
}
});
app.listen(3000, () => console.log('Server running on port 3000'));