Sohail
Sohail
2. Certificate
3. Acknowledgement
4. Abstract
- DFD
- ER Diagram
9. Modules
11. Coding
12. Testing
14. References
DECLARATION
I, ________________, bearing roll number ____________, hereby declare that the work
I have not submitted the matter presented in this work anywhere for the award of any
other Degree.
Date: ..............................
the requirements for the award of the degree of Bachelor of Computer Applications is a
record of the student’s own work carried out under my supervision and guidance. To the
best of our knowledge, this Minor Project work has not been submitted anywhere for the
It is further understood that by this certificate the undersigned does not endorser approve
of any statement made, opinion expressed or conclusion drawn therein but approve Minor
Many people have supported me, in different ways, during the work with the minor
project. I’d like to thank Mr. Lalit Kumar (HOD, BCA) & my guide ………………. ….
for their kind and active support and valuable guidance during the work process. My
However, it would not have been possible without the kind support of many individuals
and institution.
I would like to extend my sincere thanks to each and every members related to MIT (PC).
Student Name
Roll No.
Abstract
infrastructure.
Objectives of the Project
1. To provide a centralized platform for managing college data.
records.
keeping.
dependencies.
Hardware and Software Requirements
Hardware Requirements:
Software Requirements:
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
*{
margin: 0;
padding: 0;
box-sizing: border-box;
body {
line-height: 1.6;
header {
background: #7e14af;
color: white;
padding: 1rem;
position: fixed;
width: 100%;
top: 0;
z-index: 100;
display: flex;
justify-content: space-between;
align-items: center;
header h1 {
font-size: 1.5rem;
nav ul {
display: flex;
justify-content: center;
list-style: none;
gap: 1.5rem;
.nav-item {
position: relative;
}
.nav-item > a {
color: white;
text-decoration: none;
background: white;
color: #1a237e;
border-radius: 4px;
.submenu {
display: none;
position: absolute;
background: white;
border-radius: 4px;
min-width: 150px;
z-index: 200;
.nav-item:hover .submenu {
display: block;
}
.submenu a {
color: #333;
display: block;
text-decoration: none;
.submenu a:hover {
background: #f5f5f5;
color: #1a237e;
/* Main Content */
main {
margin-top: 100px;
padding: 2rem;
.service-page {
display: none;
max-width: 800px;
margin: 0 auto;
animation: fadeIn 0.5s ease-in-out;
@keyframes fadeIn {
from {
opacity: 0;
to {
opacity: 1;
form {
display: flex;
flex-direction: column;
gap: 1rem;
margin: 2rem 0;
input, select {
padding: 0.5rem;
border-radius: 4px;
}
input:focus, select:focus {
border-color: #1a237e;
outline: none;
button {
background: #1a237e;
color: white;
padding: 0.5rem;
border: none;
border-radius: 4px;
cursor: pointer;
button:hover {
background: #283593;
.list-container {
margin-top: 2rem;
border-radius: 4px;
padding: 1rem;
}
.list-container li {
padding: 0.5rem;
display: flex;
justify-content: space-between;
align-items: center;
.list-container li button {
font-size: 0.9rem;
/* Carousel Styling */
.slides-container {
width: 100%;
height: 90vh;
overflow: hidden;
position: relative;
.slide {
position: absolute;
width: 100vw;
height: 100vh;
opacity: 0;
.slide img {
width: 100%;
height: 100%;
object-fit: cover;
.slide:nth-child(1) {
animation-delay: 0s;
.slide:nth-child(2) {
animation-delay: 4s;
.slide:nth-child(3) {
animation-delay: 8s;
}
.slide:nth-child(4) {
animation-delay: 12s;
@keyframes slideShow {
0%, 20% {
opacity: 1;
25%, 95% {
opacity: 0;
100% {
opacity: 1;
/* Footer */
footer {
background: #1a237e;
color: white;
text-align: center;
padding: 1rem;
position: fixed;
bottom: 0;
width: 100%;
}
/* Fee Details */
.fee-details {
display: grid;
gap: 1rem;
margin-top: 1rem;
.fee-card {
padding: 1rem;
border-radius: 4px;
.fee-card:hover {
/* Responsive Design */
header h1 {
font-size: 1.2rem;
}
nav ul {
flex-direction: column;
gap: 1rem;
text-align: center;
.nav-item > a {
padding: 0.5rem;
.service-page {
width: 95%;
button {
padding: 0.6rem;
main {
padding: 1rem;
}
button {
font-size: 0.9rem;
padding: 0.4rem;
</style>
</head>
<body>
<header>
<nav>
<ul>
<li class="nav-item">
</li>
<li class="nav-item">
</li>
<li class="nav-item">
</li>
<li class="nav-item">
<a href="#" onclick="showPage('department')">Academics</a>
</li>
<li class="nav-item">
</li>
<li class="nav-item">
</li>
</ul>
</nav>
</header>
<div class="slides-container">
<div class="slide">
<img src="https://images.unsplash.com/photo-1562774053-701939374585?
ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80" alt="Modern Campus">
</div>
<div class="slide">
<img src="https://images.unsplash.com/photo-1523050854058-8df90110c9f1?
ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80" alt="Library">
</div>
<div class="slide">
<img src="https://images.unsplash.com/photo-1541339907198-e08756dedf3f?
ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80" alt="Student Life">
</div>
<div class="slide">
<img src="https://images.unsplash.com/photo-1592280771190-3e2e4d571952?
ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80" alt="Technology Lab">
</div>
</div>
<main>
<h2>Department Management</h2>
<form id="department-form">
</form>
<div class="list-container">
<h3>Departments List</h3>
<ul id="departments-list"></ul>
</div>
</div>
<h2>Student Management</h2>
<form id="student-form">
</select>
<button type="submit">Add Student</button>
</form>
<div class="list-container">
<h3>Students List</h3>
<ul id="students-list"></ul>
</div>
</div>
<h2>Teacher Management</h2>
<form id="teacher-form">
</select>
</form>
<div class="list-container">
<h3>Teachers List</h3>
<ul id="teachers-list"></ul>
</div>
</div>
<form id="hostel-form">
</form>
<div class="list-container">
<h3>Hostel Rooms</h3>
<ul id="hostel-list"></ul>
</div>
</div>
<h2>Fee Management</h2>
<form id="fee-form">
</select>
<button type="submit">Add Fee Record</button>
</form>
<div class="fee-details">
<div class="fee-card">
<p id="tuition-total">₹0</p>
</div>
<div class="fee-card">
<p id="hostel-total">₹0</p>
</div>
<div class="fee-card">
<p id="mess-total">₹0</p>
</div>
</div>
</div>
</main>
<footer>
</footer>
<script>
document.querySelectorAll('.service-page').forEach(page => {
page.style.display = 'none';
});
document.getElementById(pageId).style.display = 'block';
showPage('department');
// Department Management
e.preventDefault();
localStorage.setItem('departments', JSON.stringify(departments));
updateDepartmentsList();
departmentForm.reset();
});
function updateDepartmentsList() {
`<li>
<button onclick="editDepartment(${index})">Edit</button>
<button onclick="deleteDepartment(${index})">Delete</button>
</li>`
).join('');
`<option value="${dept.name}">${dept.name}</option>`
).join('');
deptSelects.forEach(select => {
});
// Student Management
e.preventDefault();
const name = document.getElementById('student-name').value;
localStorage.setItem('students', JSON.stringify(students));
updateStudentsList();
studentForm.reset();
});
function updateStudentsList() {
`<li>
<button onclick="editStudent(${index})">Edit</button>
<button onclick="deleteStudent(${index})">Delete</button>
</li>`
).join('');
// Teacher Management
const teacherForm = document.getElementById('teacher-form');
e.preventDefault();
const id = document.getElementById('teacher-id').value;
localStorage.setItem('teachers', JSON.stringify(teachers));
updateTeachersList();
teacherForm.reset();
});
function updateTeachersList() {
`<li>
<button onclick="editTeacher(${index})">Edit</button>
<button onclick="deleteTeacher(${index})">Delete</button>
</li>`
).join('');
}
// Hostel Management
e.preventDefault();
localStorage.setItem('hostels', JSON.stringify(hostels));
updateHostelList();
hostelForm.reset();
});
function updateHostelList() {
`<li>
<button onclick="deleteHostel(${index})">Delete</button>
</li>`
).join('');
// Fee Management
e.preventDefault();
localStorage.setItem('fees', JSON.stringify(fees));
updateFeeTotals();
feeForm.reset();
});
function updateFeeTotals() {
const totals = {
tuition: 0,
hostel: 0,
mess: 0
};
fees.forEach(fee => {
totals[fee.type] += fee.amount;
});
document.getElementById('tuition-total').textContent = `₹${totals.tuition}`;
document.getElementById('hostel-total').textContent = `₹${totals.hostel}`;
document.getElementById('mess-total').textContent = `₹${totals.mess}`;
// Initial updates
updateDepartmentsList();
updateStudentsList();
updateTeachersList();
updateHostelList();
updateFeeTotals();
function deleteDepartment(index) {
localStorage.setItem('departments', JSON.stringify(departments));
updateDepartmentsList();
function editDepartment(index) {
document.getElementById('dept-name').value = dept.name;
document.getElementById('dept-head').value = dept.head;
e.preventDefault();
departments[index] = {
name: document.getElementById('dept-name').value,
head: document.getElementById('dept-head').value
};
localStorage.setItem('departments', JSON.stringify(departments));
updateDepartmentsList();
form.reset();
departmentForm.addEventListener('submit', originalDepartmentSubmit);
};
function deleteStudent(index) {
students.splice(index, 1);
localStorage.setItem('students', JSON.stringify(students));
updateStudentsList();
function editStudent(index) {
document.getElementById('student-name').value = student.name;
document.getElementById('student-roll').value = student.roll;
document.getElementById('student-dept').value = student.dept;
students[index] = {
name: document.getElementById('student-name').value,
roll: document.getElementById('student-roll').value,
dept: document.getElementById('student-dept').value
};
localStorage.setItem('students', JSON.stringify(students));
updateStudentsList();
form.reset();
form.onsubmit = null;
studentForm.addEventListener('submit', originalStudentSubmit);
};
function deleteTeacher(index) {
teachers.splice(index, 1);
localStorage.setItem('teachers', JSON.stringify(teachers));
updateTeachersList();
function editTeacher(index) {
let teachers = JSON.parse(localStorage.getItem('teachers') || '[]');
document.getElementById('teacher-name').value = teacher.name;
document.getElementById('teacher-id').value = teacher.id;
document.getElementById('teacher-dept').value = teacher.dept;
e.preventDefault();
teachers[index] = {
name: document.getElementById('teacher-name').value,
id: document.getElementById('teacher-id').value,
dept: document.getElementById('teacher-dept').value
};
localStorage.setItem('teachers', JSON.stringify(teachers));
updateTeachersList();
form.reset();
form.onsubmit = null;
teacherForm.addEventListener('submit', originalTeacherSubmit);
};
function deleteHostel(index) {
if (confirm('Are you sure you want to delete this hostel room?')) {
hostels.splice(index, 1);
localStorage.setItem('hostels', JSON.stringify(hostels));
updateHostelList();
function editHostel(index) {
document.getElementById('hostel-name').value = hostel.name;
document.getElementById('room-number').value = hostel.room;
document.getElementById('capacity').value = hostel.capacity;
e.preventDefault();
hostels[index] = {
name: document.getElementById('hostel-name').value,
room: document.getElementById('room-number').value,
capacity: document.getElementById('capacity').value
};
localStorage.setItem('hostels', JSON.stringify(hostels));
updateHostelList();
form.reset();
form.onsubmit = null;
hostelForm.addEventListener('submit', originalHostelSubmit);
};
</script>
</body>
</html>
Testing
1. Unit Testing: Verifying the functionality of individual
modules.
between modules.
bugs.
Future Scope
performance.
References
1. HTML, CSS, and JavaScript documentation (Mozilla
Developer Network).
practices.
nted in this work
anywhere for the award
of any other Degree.
Student Name
Computer Science
Enrolment No.