Uday Report
Uday Report
conclusion drawn therein, but approve the project only for the purpose for
This is to certify that the work embodied in this minor project entitled
(Project Guide)
(Project Coordinator)
(Dean Academics)
STUDENTS UNDERTAKING
Prof. Sushma Khatri. The whole responsibility of the work done on this
project is ours. The sole intension of this work is only for practical learning
and research.
does not contain any part of any work which has been submitted for the
Deemed University without proper citation and if the same work is found
There are number of people without whom this project would not
have been feasible. Their high academic standards and personal integrity
provided me with continuous guidance and support.
CHAPTER 5. CONCLUSION............................................................................... 35
BIBLIOGRAPHY .......................................................................................................... 38
PROJECT PLAN ……………………………………….………………………………………..41
GUIDE INTERACTION SHEET ……………………………………………………………42
SOURCE CODE ……………………….…………………………………………………………43
Annual Vision: Automated Report Portal
Chapter 1. Introduction
1.1 Overview
1
Annual Vision: Automated Report Portal
2
Annual Vision: Automated Report Portal
3
Annual Vision: Automated Report Portal
6
Annual Vision: Automated Report Portal
Over time, there has been a notable evolution in the field of data
analysis and automation for educational systems. Numerous technologies
have been created in recent decades to automate report generation and
data management in academic settings. The laborious manual process of
managing student records, grades, attendance, and extracurricular
activities is intended to be streamlined by these technologies. The
combination of automation and faculty-friendly interfaces has been a topic
of ongoing investigation.
7
Annual Vision: Automated Report Portal
9
Annual Vision: Automated Report Portal
2.3.1 Conclusion
1
0
Annual Vision: Automated Report Portal
11
Annual Vision: Automated Report Portal
12
Annual Vision: Automated Report Portal
13
Annual Vision: Automated Report Portal
14
Annual Vision: Automated Report Portal
3.8.1 Technical
Any real-time detection system, like the one being proposed, must
efficiently process and present data from a variety of sources, including
Excel sheets and student performance. Making ensuring the framework
utilized in this automated report generating system can handle big
datasets and provide precise reports quickly is essential.[4]
1
5
Annual Vision: Automated Report Portal
After everything is configured, the system runs on its own with little
assistance from humans. Without human intervention, data is
automatically imported, processed, and evaluated, and the results—such
as counts, student performance, and rankings—are stored in the database.
To increase the system's usefulness for managers and teachers, it will also
produce reports that can be downloaded and offer visual insights into the
data.
The setup will need a GPU-powered system with a high-
performance CPU to manage the intricate data processing chores to make
the system technically possible and responsive. Especially when working
with huge datasets, which are common in educational institutions, this will
guarantee quick data handling and seamless report output without any
delays.
3.8.2 Economical
1
6
Annual Vision: Automated Report Portal
3.8.3 Operational
The system is designed to be user-friendly and requires minimal
training for faculty and administrators to operate effectively. The web-
based interface allows for easy access to data, report generation, and
system configuration, which can be performed by authorized personnel
with basic technical knowledge. Furthermore, the system is designed to
run continuously, 24/7, without the need for constant supervision.
1
7
Annual Vision: Automated Report Portal
The database used for the Annual Vision: Automated Report Portal is
named "db_reports". It contains multiple tables for storing student data,
reports, and logs. Below is the structure of the tables: [5]
This table stores the details of the students whose data is imported by the
faculty.
Subject-wise marks
marks JSON stored as JSON (e.g.,
{“Math”:85“English”:90
})
The attendance
attendance INT percentage
of the student.
19
Annual Vision: Automated Report Portal
This table stores information about the users (faculty, admin) accessing
the system.
Table 2: Database Structure
20
Annual Vision: Automated Report Portal
3.10.1 Hardware
3.10.2 Software
21
Annual Vision: Automated Report Portal
22
Annual Vision: Automated Report Portal
Chapter 4. Implementation
23
Annual Vision: Automated Report Portal
MySQL is used for storing all the necessary data, including student
information, reports, and logs. It ensures efficient retrieval and
manipulation of data required for generating reports.
These technologies come together to create robust and scalable.[5]
[9]
web application that allows faculty to upload student data, view analysis,
and generate reports seamlessly.
The results of these analyses are stored in the database and are used for
generating comprehensive class reports.
To make the data more insightful, data visualization is integrated into the
application:
24
Annual Vision: Automated Report Portal
PhpSpreadsheet is a PHP library that allows for reading and writing Excel
files. It is used in the Annual Vision: Automated Report Portal to import
and export student data in Excel format.[16]
Purpose: The library handles the import of student data from Excel
sheets. It supports multiple formats, including XLSX and CSV. Faculty
can upload their student data using an easy-to-use interface, and the
system parses the Excel sheet to extract student details such as
enrollment number, marks, attendance, and extracurricular activities.
25
Annual Vision: Automated Report Portal
4.2.2 Chart.js
26
Annual Vision: Automated Report Portal
4.2.3 TCPDF
4.2.4 MySQL
PHP
PHP is used as the primary server-side scripting language for the system
due to the following reasons:[11][12]
Simplicity:
PHP is a simple and widely used scripting language. It is easy to
learn and implement, and it allows the rapid development of
dynamic web applications. The syntax is clear, which makes it easy
for developers to focus on functionality rather than language
intricacies.
Open Source and Free:
PHP is open source, meaning it is free to use, modify, and distribute.
This flexibility makes it ideal for creating scalable applications
without the need for costly software licenses.
Object-Oriented and Procedural Programming:
PHP supports both object-oriented and procedural programming,
which allows for flexibility in development. For the Annual Vision
project, object-oriented programming (OOP) is used for better
modularity and code reusability. PHP's OOP features, such as classes,
inheritance, and polymorphism, enable developers to create a more
maintainable and structured codebase.
Extensive Libraries and Frameworks:
PHP has a vast ecosystem of libraries and frameworks like Laravel
and Symfony that can accelerate development. It also integrates well
with various tools, like TCPDF for PDF generation, and
PhpSpreadsheet for Excel file handling, making it perfect for web-
based applications like the Annual Vision project.
28
Annual Vision: Automated Report Portal
JavaScript:
MySQL:
These languages and technologies were chosen for their ability to provide
efficient performance, security, and maintainability, all of which are crucial
for the Annual Vision: Automated Report Portal. The combination of PHP,
JavaScript, and MySQL ensures seamless user experience from data import
to report generation and visualization.
4.4 Screenshots
The Following are the screenshots of the result of the project:
3
0
Annual Vision: Automated Report Portal
4.5 Testing
Testing is an essential phase in the development of process that ensures
the system functions as expected. It involves evaluating the system to
identify discrepancies between input and output, as well as assessing the
system's features to ensure its quality and performance.
The testing for the “Annual Vision: Automated Report Portal” follows two
main approaches:
Functionality testing
Implementation testing
31
Annual Vision: Automated Report Portal
The testing method used for this project is Black Box Testing, which is
focused on evaluating the functionality of the system without considering
the internal code structure. In this approach, testers provide input into the
system and verify if the output matches the expected results. If the output
is correct, the system passes the test; otherwise, it fails.
4.5.2 Test Case and Analysis
TEST CASE: 1
Table 4: Test Case 1
3
2
Annual Vision: Automated Report Portal
TEST CASE: 2
Table 5: Test Case 2
Status Pass
33
Annual Vision: Automated Report Portal
Figure 4-9: Test Case 2 Output 2
3
4
Annual Vision: Automated Report Portal
Chapter 5. Conclusion
5.1 Conclusion
35
Annual Vision: Automated Report Portal
36
Annual Vision: Automated Report Portal
Real-Time Notifications: Integrating SNS (Simple Notification
Service) or similar alerting mechanisms would be beneficial to
notify administrators or faculty members when significant changes
occur in the data. This could be useful for alerting discrepancies,
issues, or updates in the system's generated reports, enhancing user
interaction and response time.
Advanced Data Visualization Techniques: Currently, the system
relies on basic visualizations like charts and graphs. In future
iterations, incorporating more advanced techniques for data
visualization—such as heat maps, interactive dashboards, and
detailed trend analysis—could provide a deeper understanding of
student performance and activities.
Segmentation in Data Analysis: The system currently uses a basic
bounding box technique for visualization. In future updates, more
advanced segmentation techniques could be employed to break
down the data into smaller, more meaningful sections, improving
the clarity and detail of visualized reports.
37
Annual Vision: Automated Report Portal
Bibliography
[6] T. Liu and Z. Zhou, "Optimizing data entry and retrieval in student
report systems," “Journal of Database Management”, vol. 30, no. 1,
pp. 12-20, Jan. 2021.
38
Annual Vision: Automated Report Portal
40
Annual Vision: Automated Report Portal
Project Plan
Gantt Chart
4
1
Annual Vision: Automated Report Portal
42
Annual Vision: Automated Report Portal
Source Code
1. View_report.php
<?php
// Database connection
$servername = "localhost";
$db_username = "root";
$db_password = "";
$database = "tut";
$avg_result = $conn->query($sql_avg);
$average_marks["subject_code_$i"] = $avg_result->fetch_assoc()
['avg_marks'];
}
// Attendance statistics
$sql_high_attendance = "SELECT COUNT(*) AS count_high_attendance
FROM students WHERE attendance > 75";
$high_attendance_result = $conn->query($sql_high_attendance);
$students_above_75 = $high_attendance_result->fetch_assoc()
['count_high_attendance'];
4
4
Annual Vision: Automated Report Portal
$conn->close();
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>Generate Report - Annual Vision</title>
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstr
ap.min.css" rel="stylesheet">
<style>
body {
background-color: #111;
color: #fff;
}
.navbar, .card {
background-color: #222;
}
.navbar-brand img {
width: 30px;
height: 30px;
}
.table th, .table td {
color: #fff;
}
.btn-primary {
background: linear-gradient(45deg, #00ffff, #ff0096);
border: none;
color: white;
}
4
5
.btn-primary:hover {
background: linear-gradient(45deg, #ff0096, #00ffff);
}
</style>
</head>
<body>
<div class="background"></div>
<div class="mb-4">
<h3>Overall Performance</h3>
<p><strong>Pass Percentage:</strong> <?php echo
number_format($passed_percentage, 2); ?>%</p>
<p><strong>Fail Percentage:</strong> <?php echo
number_format($failed_percentage, 2); ?>%</p>
<p><strong>Students in Extracurricular Activities:</strong> <?
php echo $involved_in_extracurricular; ?> out of <?php echo
$total_students; ?></p>
</div>
<div class="mb-4">
<h3>Subject-wise Average Marks</h3>
<ul>
<?php foreach ($average_marks as $subject => $average): ?>
<li><strong><?php echo ucfirst(str_replace('_', ' ',
$subject)); ?>:</strong> <?php echo number_format($average, 2); ?
></li>
<?php endforeach; ?>
</ul>
</div>
<div class="mb-4">
<h3>Top 5 Overall Rankers</h3>
4
6
htmlspecialchars($ranker['enrollment_number']); ?></td>
<td><?php echo
htmlspecialchars($ranker['student_name']); ?></td>
<td><?php echo
htmlspecialchars($ranker['total_marks']); ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<div class="mb-4">
<h3>Top 5 Rankers per Subject</h3>
<?php foreach ($subject_rankers as $subject => $rankers): ?>
<h4><?php echo ucfirst(str_replace('_', ' ', $subject)); ?></h4>
<table class="table table-bordered">
<thead><tr><th>Student
Name</th><th>Marks</th></tr></thead>
<tbody>
<?php foreach ($rankers as $ranker): ?>
<tr>
<td><?php echo
htmlspecialchars($ranker['student_name']); ?></td>
<td><?php echo
htmlspecialchars($ranker['subject_marks']); ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php endforeach; ?>
</div>
<div class="mb-4">
<h3>Attendance Statistics</h3>
<p><strong>Attendance > 75%:</strong> <?php echo
4
7
$students_above_75; ?></p>
<p><strong>Attendance < 75%:</strong> <?php echo
count($students_below_75); ?></p>
</div>
<div class="mb-4">
<h3>Students with Attendance Below 75%</h3>
<ul>
<div class="mb-4">
<h3>Top 5 Attendance Percentage Rankers</h3>
<table class="table table-bordered">
<thead><tr><th>Student Name</th><th>Attendance
%</th></tr></thead>
<tbody>
<?php foreach ($top_attendance as $student): ?>
<tr>
<td><?php echo
htmlspecialchars($student['student_name']); ?></td>
<td><?php echo
htmlspecialchars($student['attendance']); ?>%</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</body>
</html>
48