Online Quiz Management Systems
Online Quiz Management Systems
MANAGEMENT SYSTEM
Submitted by
R AAKASH (REG.NO:953723104001)
K HARI KRISHNA(REG.NO:953723104040)
M AKASH PANDIYAN (REG.NO:953723104008)
SIGNATURE SIGNATURE
Dr. J. Hemalatha, M.E., Ph.D., Ms. K. Anuradha, M.E.,
HEAD OF THE DEPARTMENT SUPERVISIOR
Professor Assistant Professor
Computer Science & Engineering Computer Science & Engineering
AAA College of Engg. & Tech., AAA College of Engg. & Tech., Sivakasi - 626
005 Sivakasi - 626 005
Virudhunagar District Virudhunagar District
Submitted for the project viva-voce examination to be held on
ii
EXTERNAL EXAMINAR
ii
INTERNAL EXAMINAR
ACKNOWLEDGEMENT
First and foremost, we praise and thank “The Almighty”, the lord of
all creations, who by his abundant grace has sustained us and helped us to
work on this project successfully.
We really find unique pleasure and immense gratitude in thanking our
respected management members, who is the backbone of our college.
A deep bouquet of thanks to respected Principal Dr. M. Sekar, M.E.,
Ph.D., for having provided the facilities required for our project.
We sincerely thank our Head of the Department Dr. J. Hemalatha,
M.E., Ph.D., Professor & Head, Department of Computer Science and
Engineering, for her guidance and support throughout the project.
We extremely thank our project coordinator Ms. K. Anuradha, M.E.,
Assistant Professor, Department of Computer Science and Engineering,
who inspired us and supported us throughout the project.
We also thank our guide Ms. K. Anuradha, M.E., Assistant
Professor, Department of Computer Science and Engineering for her
valuable guidance and it is great privilege to express our gratitude to her.
iii
ABSTRACT
iv
PAGE NO
iv
vi
vii
S.NO
1
TABLE OF CONTENT 2
TITLE 2
1. ABSTRACT 2
LIST OF ABBREVIATIONS 3
LIST OF FIGURES 5
INTRODUCTION 6
1.1 Overview
1.2 Aim 7
1.3 Description 7
1.4 Technologies used
1.5 Languages used 8
1.6 Key features 9
2. 1.7 Modules used
LITERATURE REVIEW 10
2.1 Existing system 10
2.2 Proposed system
3.
SYSTEM DESIGN 11
3.1 System Architecture 12
3.2 Description
SYSTEM REQUIREMENT 17
4.
4.1 Hardware Requirement 18
4.2 Software Requirement 23
SYSTEM IMPLEMENTATION
5. 5.1 System environment
RESULTS
6. CONCLUSION
7. 7.1 conclusion
APPENDIX
REFERENCES
v
LIST OF ABBREVIATIONS
HTML - HyperText Markup Language
JS - JavaScript
UI - User Interface
UX - User Experience
vi
LIST OF FIGURES PAGE NO
TITLE 8
ANALYSIS 15
16
FIG NO
3.1
6.1
6.2
6.3
6.4
6.5 IMPLEMENTING SQL QUERIES IN PHPMYADMIN
vii
CHAPTER 1
INTRODUCTION
1.1 OVERVIEW
1
1.2 AIM
1.3 DESCRIPTION
2
1.5 LANGUAGES USED
1.5.1 PHP
3
1.5.2 SQL
1.5.3 HTML/CSS
1.5.4 JAVASCRIPT
4
1.5.5 DATABASE MANAGEMENT SYSTEM
6. Result & Report Module Allows users and admin to view performance
reports. Admin can generate quiz statistics and student performance
analytics.
7
CHAPTER 3
SYSTEM DESIGN
3.1 SYSTEM ARCHITECTURE
3.2 DESCRIPTION
The flowchart for the Online Quiz Management System illustrates the
complete workflow of the application, beginning from the user's entry point
and ending with system logout. Initially, users access the system through a
login interface, where they are required to enter their credentials.
The system validates the login information and determines the user
role—either as an administrator or a student. Based on the role, the user is
directed to the appropriate module. If the user is an admin, they are
redirected to the admin dashboard where they can perform tasks such as
adding new quiz questions, modifying or deleting existing ones, and viewing
quiz results and user performance reports.
On the other hand, if the user is a student, they are taken to the quiz
interface, where they can select and participate in available quizzes. The quiz
interface typically includes a time limit and multiple-choice questions. After
completing the quiz, the student submits their responses, and the system
instantly evaluates the answers using a predefined answer key stored in the
database.
10
CHAPTER 5
SYSTEM IMPLEMENTATION
The system utilizes the XAMPP server stack, which includes Apache
for hosting the application, MySQL for managing the backend database, and PHP
for handling server-side logic. The database is managed through phpMyAdmin,
offering a user-friendly interface for creating tables and running queries.
11
Figure 6.2 Questions Which User Need to Answer
Figure 1.3 showcases the question page in the Online Quiz Management
System is the core component where users interact with the quiz content. After
successful login, users are redirected to this page to take the quiz. It displays a
set of questions, typically multiple-choice, pulled dynamically from the database.
Each question is presented with four options, from which the user can select one
as their answer. The page is designed with a clean and responsive layout to ensure
ease of use across devices. A timer is often included to enforce time-bound
quizzes, creating a more exam-like experience. The logic behind the page may
include automatic progression to the next question, or users may be allowed to
navigate between questions freely. Once all answers are selected, users can
submit the quiz using a "Submit" button. On submission, the system evaluates
the responses in real time, calculates the score based on predefined correct
answers, and stores the result in the database for leaderboard tracking or result
analysis. The question page ensures fair assessment, smooth user interaction, and
instant performance feedback.
13
Figure 6.3 Viewing Leaderboard for performance Analysis
Figure 1.4 showcases the leaderboard page in the Online Quiz Management
System is designed to display the performance rankings of users based on their
quiz scores. After a user submits their quiz, their name and score are stored in
the database and reflected on this page in real time. The leaderboard typically
lists users in descending order of their scores, highlighting top performers at the
top of the table. It may also include additional information such as submission
time or rank position. This page not only adds a competitive element to the quiz
system but also provides transparency and motivation for users to improve their
performance. The leaderboard is dynamically generated using data fetched from
the backend database, often through AJAX or fetch API calls, and rendered using
HTML and JavaScript. It plays a vital role in educational and training
environments where tracking user progress and recognizing achievement is
essential. The page is designed to be visually clean, easy to read, and responsive,
making it accessible across various devices.
14
Figure 6.4 Implementing SQL Queries in phpMyAdmin
CHAPTER 7
CONCLUSION
7.1 CONCLUSION
APPENDIX
#HTML & CSS FOR LOGIN PAGE
<!DOCTYPE html>
<html>
<head>
<title>Login form</title>
<style>
.pro1{ border:10px; padding:80px;
margin: auto; text-align:center;
background-
color:rgb(230,230,230);
height:100%; width: 190px; border-
radius: 50px; flex:1;
box-shadow: 0 0 20px rgb(243,3,3);
}
#submit{ background-color:
aqua; width: 159px;
}
#sv{ background-color:
white;
color: firebrick;
}
#h4{
color:blue;
}
#lb{
width:200px;
height:200px;
} html,body{
height:280px;
18
margin:0;
display:flex; flex-
direction:column;
margin-top: 30px;
}
</style>
</head>
<body bgcolor="black">
<div class="pro1">
<table align="center" valign="middle">
<tr>
<h2 style="color:darkred;"
align=center><u>Login</u></h2>
<td>
<div bgcolor="black">
<form>
<label id="lb">Gmail Id</label>
<input id="sv" type="email"
name="username" placeholder="Enter
Gmail"><br><br>
<label id="lb">PASSWORD</label>
<input id="sv" type="password"
name="password" placeholder="Enter
Password"><br><br>
<input align=center id="submit"
type="button" value="Login"
onclick="loginRedirect()">
</form>
</div>
</table>
</div>
<script> function
loginRedirect(){ const
username=document.querySelector('input[name="user
name"]').value;
if(username.trim()===""){ alert("Please
enter your Gmail ID"); return;
}
19
21
localStorage.setItem("quiz_user",username);
window.location.href="index.html";
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Online Quiz App</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="quiz-container" id="quiz">
<h2 id="question">Question text</h2>
<ul>
<li><button class="option-btn"
onclick="selectAnswer(this)"></button></li>
<li><button class="option-btn"
onclick="selectAnswer(this)"></button></li>
<li><button class="option-btn"
onclick="selectAnswer(this)"></button></li>
<li><button class="option-btn"
onclick="selectAnswer(this)"></button></li>
</ul>
<button id="nextBtn"
onclick="nextQuestion()">Next</button>
<div id="result" class="hide">
<h3>Your score: <span
id="score"></span></h3>
23
</div>
20
<button style="background-color: yellow;"
onclick="window.location.href='leaderboard.html
'"
>View Leaderboard</button>
</div>
<script src="script.js"> const
user=localStorage.getItem("quiz_user");
if(!user){
window.location.href="login.html";
}
</script>
</body>
</html>
<?php
$host = 'localhost';
$db = 'quiz_app';
$user = 'root';
$pass = '';
$conn = new mysqli($host, $user, $pass, $db);
if ($conn->connect_error) { die("Connection
failed: " . $conn-
>connect_error);
} $data =
json_decode(file_get_contents("php://input")
);
$username = $conn->real_escape_string($data-
>username);
$score = intval($data->score);
$sql = "INSERT INTO scores (username, score)
VALUES ('$username', $score)"; if ($conn-
>query($sql) === TRUE) { echo
json_encode(["message" => "Score saved
successfully"]);
} else { echo json_encode(["message" =>
"Error: " .
$conn->error]);
}
27
$conn->close();
?>
REFERENCES