Ilovepdf Merged
Ilovepdf Merged
Course Name
Client Side Scripting Language (CSS 22519)
Submitted by
1. SAYED SHAD Roll no: 40
2. SAYED NIAHL Roll no: 44
3. SAYED MAAZ Roll no: 35
4. SAYED MANNAN Roll no: 36
5. SAYED SAFI Roll no: 37
Certificate
Seal of Institution
MICRO POROJECT
ATTANDENCE MANGMENT SYSTEM
[PART A]
Page 1 of 15
2.0 Course Objectives Fulfilled by the Micro-Project
Develop proficiency in web technologies such as HTML, CSS, and
JavaScript.
Understand the basics of local storage to save and retrieve data.
Create interactive web applications with event-driven programming.
Design user interfaces to manage student data.
This project provides a basic yet powerful tool that can be used in
schools, colleges, or organizations to track student attendance. By
leveraging JavaScript, we ensure that data persists through local storage,
providing a simple yet effective solution for attendance tracking without
a backend.
Page 2 of 15
6.0 Action Plan (Sequence and time required for major activities for
8-10 Weeks)
Details of activity Planned Planned Name of
S. No. Start date Finish date Responsible Team
Members
1. Analysis 29/07/2024 03/08/2024
2. Study JavaScript: Event Handling and 05/08/2024 10/08/2024
DOM Manipulation
3. Design User Interface for 12/08/2024 17/08/2024
Attendance Management System
4. Develop Algorithm and Create 19/08/2024 24/08/2024
Program Flowchart
5. Coding and testing 02/09/2024 07/09/2024
6. Coding and testing 09/09/2024 14/09/2024
Page 3 of 15
7.0 Skills Developed
Submitted by:
1) Sayed Shaad
2) Sayed Nihal
3) Sayed Mannan
4) Md Maaz
5) Sayed Safi
Page 4 of 15
[PART B]
CONTENTS
1. Rationale
………………………………………………………………..……..
2. Course Outcomes Addressed
…………………………………..……….…..
3. Literature Review
………………………………………………………..……
4. Actual Methodology Followed
…………………………………..………..
5. Actual Resources Required
…………………………………………….…..
6. Output of Micro-Project
………………………………………..……….
7. Skills Developed/Learning from this Micro-Project
…………….……..
8. Applications of this Microproject
………………………………….……..
9. Areas for Future Improvement ………………………………….……..
\
Page 5 of 15
6.1 Introduction
Page 6 of 15
Storage: Local Storage API (Browser-based)
Add Student: Users can add students to the system by entering their
names.
Remove Students: Users can delete students from the list if needed.
<!DOCTYPE html>
<html lang="en">
Page 7 of 15
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>Attendance Management System</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f9;
padding: 20px;
}
h1 {
text-align: center;
}
#studentForm {
margin-bottom: 20px;
}
.student-list {
border: 1px solid #ccc;
padding: 10px;
}
.student-list div {
margin-bottom: 5px;
Page 8 of 15
}
</style>
</head>
<body>
<h1>Attendance Management System</h1>
<form id="studentForm">
<input type="text" id="name" placeholder="Enter Student Name"
required>
<button type="submit">Add Student</button>
</form>
<h2>Student List</h2>
<div class="student-list" id="studentList"></div>
<script src="script.js"></script>
</body>
</html>
document.addEventListener('DOMContentLoaded', function() {
const studentForm = document.getElementById('studentForm');
const studentList = document.getElementById('studentList');
Page 9 of 15
let students = JSON.parse(localStorage.getItem('students')) || [];
function displayStudents() {
studentList.innerHTML = '';
students.forEach((student, index) => {
const studentDiv = document.createElement('div');
studentDiv.innerHTML = `
${student.name}
<input type="checkbox" ${student.present ? 'checked' : ''}
onclick="markAttendance(${index})"> Present
<button
onclick="deleteStudent(${index})">Remove</button>
`;
studentList.appendChild(studentDiv);
});
}
studentForm.addEventListener('submit', function(e) {
e.preventDefault();
const name = document.getElementById('name').value;
students.push({ name: name, present: false });
localStorage.setItem('students', JSON.stringify(students));
document.getElementById('name').value = '';
Page 10 of 15
displayStudents();
});
window.markAttendance = function(index) {
students[index].present = !students[index].present;
localStorage.setItem('students', JSON.stringify(students));
displayStudents();
}
window.deleteStudent = function(index) {
students.splice(index, 1);
localStorage.setItem('students', JSON.stringify(students));
displayStudents();
}
displayStudents();
});
body {
font-family: Arial, sans-serif;
background-color: #f8f9fa;
Page 11 of 15
}
form {
margin-bottom: 15px;
}
input[type="text"] {
padding: 5px;
font-size: 16px;
}
button {
padding: 5px 10px;
font-size: 16px;
}
.student-list div {
margin: 10px 0;
padding: 10px;
background-color: #fff;
border: 1px solid #ccc;
border-radius: 5px;
display: flex;
Page 12 of 15
justify-content: space-between;
}
8.0 Output
1. Teacher Login
2. Adding Students
Page 13 of 15
2. Marking Attendance
The list displays students, each with a checkbox to mark as present.
Page 14 of 15
9.0 Skills Developed
Page 15 of 15