0% found this document useful (0 votes)
144 views

Online Examination System Documentation

This document provides details of an online examination system project completed by 5 students. It includes a cover page with the project title and students' names and roll numbers. It also includes a certificate of recommendation signed by the faculty head and examiner's approval of the project. The abstract provides an overview of the system - it has 4 main pages and was developed using technologies like PHP, MySQL, Java etc. It allows admins to add questions and students to take exams online and view results.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
144 views

Online Examination System Documentation

This document provides details of an online examination system project completed by 5 students. It includes a cover page with the project title and students' names and roll numbers. It also includes a certificate of recommendation signed by the faculty head and examiner's approval of the project. The abstract provides an overview of the system - it has 4 main pages and was developed using technologies like PHP, MySQL, Java etc. It allows admins to add questions and students to take exams online and view results.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 44

MAJOR PROJECT

ONLINE EXAMINATION
SYSTEM

SL. NO. NAME ROLL

1 SAYANTAN DUTTA 22601217039

2 SAMRIDHYA BHATTACHARYA 22601217043

3 SHUBHAMAY HAZRA 22601217033

4 SUKANYA PAL 22601217013

5 SHUBHAM KUMAR 22601217034


Techno India, Salt Lake
(Maulana Abul Kalam Azad University of technology (WBUT) )

FACULTY OF BCA DEPARTMENT

Certificate of Recommendation

This is to certify that Sayantan Dutta, Samridhya Bhattacharya, Shubhamay Hazra,


Sukanya Pal & Shubham Kumar has completed his project work titled “Major
project on: Online Examination System, under the direct supervision and guidance
of Partho Mallick. We are satisfied with his work, which is being presented for the
partial fulfillment of the degree of Bachelor of Computer Application (BCA), West
Bengal University of technology (WBUT), Kolkata– 700032.

Date:

( Monalisa Banerjee)
HOD,BCA Department
(Techno India Main,SaltLake )

Date:
Maulana Abul Kalam Azad University of technology (WBUT),
FACULTY OF BCA DEPARTMENT
The foregoing Major project is hereby approved as a creditable study of Bachelor of Computer
Application (BCA) and presented in a manner satisfactory to warrant its acceptance as a pre-requisite
to the degree for which it has been submitted. It is understood that by this approval the undersigned do
not necessarily endorse or any statement made, opinion expressed or conclusion therein but approve
this Minor project only for the purpose for which it is submitted.

Signature of the final Examinator for Project Evaluation


ABSTRACT
Our online test generator will help you creating your online exam. You’ve
decided to give an online examination. Now you’re wondering which steps to
follow to accomplish that. Good question! This presentation will you show a
small overview that you will have to take for putting on an online examination.
Our home page consists of 4 pages:-
Home Page- Contains entire Details regarding our Examination System.
Login Page- Where you can login as Admin and as a Candidate.
Register Page- Where you can Register as a Candidate or as an Admin.
Contact Us Page – Where you can contact teachers in charge of this
Examination System
SYSTEM REQUIREMENTS SPECIFICATION
1.1 Hardware Requirements
Processor : Pentium III 630MHz
RAM : 512 MB
Hard Disk : 20GB
Monitor : 15” Color monitor
Key Board : 104 Keys
1.2 Software Requirements
Operating System : Windows XP,7,8,8.1,10
Language : Java 2 Runtime Environment
Database : MySQL.

WHAT IS ONLINE EXAMINATION SYSTEM?


Online examination system is conducting a test online to
measure the knowledge of the participants on a given topic.
In the previous days, everybody had to gather in a classroom
at the same time to take an exam. With online examination
students can give the exam online, in their own time, with
their own device, regardless of where they live. You only
need a browser and an internet connection. 

HOW IT WORKS
• Well we have use phpMyAdmin as our data base structure.
• Each and every user’s response is recorded in our database system.
• Each user name has to have a different username, Same user name
is unacceptable twice.
• We have used Netbeans as our coding platform which is
completely Java Based.
BUSINESS MODULE:
Examination system can be improved with the help of this module.
Teachers nowadays set different type of questions like few of them are
mathematical and few of them logical also. In this module At first
students have to login with their ID and password. There is a timer for
the exam.After logging in,the student can start the exam anytime, after
the given time the exam will automatically end.In between the time
students have to answer the questions and submit it.

FUTURE ASPECT:
This project can be implemented regarding aptitude test of job
interview and competitive exams.Nowadays there are many cases
where hand written answer papers are not checked properly.It can also
be misused or hampered.To prevent this situation,this project is useful.
BUSINESS IDEA:
Nowadays it is a big problem for the students that after giving an exam
there is no such security that their answer sheets will be checked
properly or not. This can hamper the grade as well as the future of a
student for an aspect.This project is useful to prevent this type of
situation.With the help of online exam portal students can give their
examination online with the help of a computer and after giving the
exams their answers will be saved in a database. Their will be a admin
or teacher portal where the teacher can login with their login ID and
password. The teacher can add questions as per their need and
requirement and they can also add the correct Answer for each question
and then save it. After submitting all the answers the student can see the
marks obtained by them. They can also see the correct answers for all
the questions after the exam ends.

TOOLS:
Editor – Sublime text
Browser – Explorer greater version 8.0 JDK

J2EE
Apache Tomcat
Database – Mysql workbench.

What is HTML?
• HTML stands for Hyper Text Markup Language
• HTML describes the structure of a Web page
• HTML consists of a series of elements
• HTML elements tell the browser how to display the content
• HTML elements are represented by tags
• HTML tags label pieces of content such as "heading", "paragraph",
"table", and so on
• Browsers do not display the HTML tags, but use them to render the
content of the page
What is CSS?
• CSS stands for Cascading Style Sheets
• CSS describes how HTML elements are to be displayed on screen,
paper, or in other media
• CSS saves a lot of work. It can control the layout of multiple web
pages all at once
• External stylesheets are stored in CSS files

Why use CSS?


• CSS helps you to keep the informational content of a document separate
from the details of how to display it. The details of how to display the
document are known as its style. You keep the style separate from the
content so that you can:
• Avoid duplication
• Make maintenance easier
• Use the same content with different styles for different purposes
• Your web site might have thousands of pages that look similar. Using CSS,
you store the style information in common files that all the pages share.
When a user displays a web page, the user’s browser loads the style
information along with the content of the page. When a user prints a web
page, you might provide different style information that makes the printed
page easy to read.
WELCOME TO OUR PROJECT

REGISTER YOURSELF
LOGIN FORM
HERE, we can login as an admin or as a student
CHECK YOUR PROFILE
SELECT YOUR COURSE AND EXAM
AVAILABLE COURSES

CHECK YOUR RESULTS


ADDING QUESTIONS:
The Admin can add questions here for the exam of respective courses.
TAKE A TOUR OF OUR DATABASE SYSTEM
DATA FLOW DIAGRAM(LEVEL 0)

LEVEL 1
LEVEL 2
ERD OR ENTITY-RELATIONSHIP DIAGRAM:-
ERD OR ENTITY-RELATIONSHIP DIAGRAM:-
CODING
HOME PAGE(index.jsp):

<html>
<head>
<title>my website</title>
<link href="web1.css" rel="stylesheet" type="text/css" />
</head>
<body>
<script type="text/javascript" align="left">

var image1=new Image();


image1.src="IMG/exam6.jpg";
var image2=new Image();
image2.src="IMG/exam4.jpg";
var image3=new Image();
image3.src="IMG/exam1.png";
var image4=new Image();
image4.src="IMG/exam5.jpg";

</script>
<img src="" name="slide" width="100%" height="480">
<script type="text/javascript">

var step=1;
function slideit(){
document.images.slide.src=eval("image"+step+".src");
if(step<4)
step++;
else
step=1;
setTimeout("slideit()",3000);
}
slideit();

</script>
<div id="nav">
<ul>
<li><a href="index.jsp">Home</a></li>
<li><a href="login.jsp">login</a></li>
<li><a href="register1.html">Register</a></li>
<li><a href="contactuspage.html">Contact Us</a></li>
</ul>
</div>
<div id="d">
<h2>Welcome to Eduguide</h>
<p>This website will provide you to take exam online and thus saves your time to go far away.
There are different kind of
subjects provided for exam purpose. Candidates can select any subject for which he/she wants to
give proper examination and then
he/she can start their exam. This Institution provides the facility to check attempted papers by
candidates automatically and shows
result after paper submitting.<p>
</div>
<div id="img1">
<img src="IMG\book1.jpg" width="300" height="250"/>
<img src="IMG\book2.jpg" width="300" height="250" />
<img src="IMG\book8.jpg" width="300" height="250" />
<img src="IMG\book9.jpg" width="300" height="250" />
<img src="IMG\book4.jpg" width="300" height="250" />
<img src="IMG\booktwo.jpg" width="300" height="250" />
<img src="IMG\bookthree.jpg" width="300" height="250" />
<img src="IMG\bookone.jpg" width="300" height="250" />
<img src="IMG\bookfour.jpg" width="300" height="250" />
<img src="IMG\bookfive.jpg" width="300" height="250" />
<img src="IMG\booksix.jpg" width="300" height="250" />
<img src="IMG\bookseven.jpg" width="300" height="250" />
</div>
<div id="footer">
Created by Shubhamay Hazra, Sukanya Pal, Samridhhya Bhattacharya, Sayantan Dutta, Subham
Kumar (Techno India, Kolkata)
</div>
</body>
</html>
LOGIN PAGE(login.jsp):
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body style="background-image: url(a.jpg);">
<center>
<div class="central-div">
<form method='post' action="controller.jsp">
<input type="hidden" name="page" value="login">
<table>
<tr>
<td colspan="2">
<center><h2>Login Form</h2></center>
</td>
</tr>
<tr>
<td>
<label>User Name</label>
</td>
<td>
<input type="text" class="text" placeholder="User Name"
name="username">
</td>
</tr>
<tr>
<td>
<label>Password</label>
</td>
<td>
<input type="password" class="text" placeholder="Password"
name="password">
</td>
</tr>
<tr>
<td>

</td>
<td>
<%
if(request.getSession().getAttribute("userStatus")!=null){
System.out.println("its called");
if(request.getSession().getAttribute("userStatus").equals("-1")){
System.out.println("now inside");
%>
<script>alert("username or password is incorrect");</script>
<p style="color: rgba(255, 255, 51, 1);font-size: 17px">username
or password is incorrect</p>
<br>
<%
}
}
%>

<a href="">Forgot Passowrd</a></td>


</tr>
<tr>
<td>
</td>
<td>
<center>
<input type="submit" value="Login"
class="button">
</center>
</td>
</tr>
</table>
</form>
</div>
</center>
</body>
</html>

LOGIN CSS(style.css):

*{
margin:0;
padding: 0;
/* font-family: sans-serif;*/
}
*:focus {
outline: none;
}
body{
background-image: url(1.jpg);
}

.central-div{
position: absolute;
top: 25%;
left: 35%;
}
.central-div h2{
color: white;
font-size: 28px;
}

.central-div table{
background-color: rgba(38,38,38,0.4);
padding: 30px;
border-radius: 0px;
}
.central-div input{
margin:10px;
}
.central-div label{
color: white;
font-size: 17px;
font-family: sans-serif;
}
.central-div a{
color: white;
text-decoration: none;
}
.central-div a:focus,.central-div a:hover{
text-decoration: underline;
}
.text{
background: rgba(255,255,255,0.7);
padding: 5px;
font-size: 18px;
width: 220px;
border-radius: 0px;
border:1px solid #E8E8E8;
box-shadow: 1px 1px 3px #082F38;
color: #15687A;
}
.text:focus{
border:1px solid #5CB1C4;
box-shadow: 1px 1px 8px #082F38;
background: white;
}
.button{
margin-bottom: 5px;
margin-top: 5px;
background: linear-gradient(#54B872,#5AC47A,#54B872);
width: 220px;
font-size: 21px;
border:2px solid #3B3B3B;
color: #3B3B3B;
padding: 8px;
}
.button:hover,.button:focus{
border:2px solid white;
color: white;
cursor: pointer;
}

.menu{
padding: 5px;
margin: 5px;
position: relative;
display: inline;
top: 20px;
left: 20px;
background-color: #5AC47A;
width: 80%;
}
.title{
position: relative;
top: -20px;
background-color: burlyWood;
width: 200px;
padding: 8px;
border-radius: 10px;
box-shadow: 1px 1px 6px 1px;

}
.list{
background-color: lightgrey;
width: 260px;
height: 30px;
font-size: 23px;
color: black;
text-align: left;
padding-left: 10px;
margin-bottom: 1px;
}
.list a{

background-color: slateGrey;
color: white;
text-decoration: none;
height: 100%;
padding-left: 5px;
padding-right: 5px;
transition: 0.3s;
}
.list a:hover{
background-color: crimson;
}
.form-button{
margin-bottom: 5px;
margin-top: 5px;
background: linear-gradient(#54B872,#5AC47A,#54B872);
width: 140px;
font-size: 21px;
border:2px solid #3B3B3B;
color: #3B3B3B;
padding: 8px;
}
.form-button:hover,.form-button:focus{
border:2px solid white;
color: white;
cursor: pointer;
}
form label{
padding: 15px;
color: white;
font-weight: bold;
font-size: 17px;
}
#one-column-emphasis
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
min-width: 800px;
text-align: left;
border-collapse: collapse;
}
#one-column-emphasis th
{
font-size: 14px;
font-weight: normal;
padding: 12px 15px;
color: #039;
}
#one-column-emphasis td
{
padding: 10px 15px;
color: #669;
border-top: 1px solid #e8edff;
}
.oce-first
{
background: #d0dafd;
border-right: 10px solid transparent;
border-left: 10px solid transparent;
}
#one-column-emphasis tr:hover td
{
color: #339;
background: #eff2ff;
}

.profile{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
}
.profile .tag{
font-size: 17px;
padding:10px;
text-align: left;
background: cadetblue;
color: white;
display: inline-block;
min-width: 120px !important;

}
.profile .val{
text-align: left;
min-width: 370px !important;
font-size: 17px;
padding:10px;
display: inline-block;
background: #b2ffb2 ;
}
.profile .val:hover{
background: honeydew;
}
.profile h2{
margin-bottom:1px;
box-shadow: 1px 1px 3px #082F38;
max-width: 530px;

#rounded-corner
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
min-width: 800px;
text-align: left;
border-collapse: collapse;
}

#rounded-corner th
{
padding: 8px;
font-weight: normal;
font-size: 13px;
color: #039;
background: #b9c9fe;
}
#rounded-corner td
{
padding: 8px;
background: #e8edff;
border-top: 1px solid #fff;
color: #669;
}

#rounded-corner tbody tr:hover td


{
background: #d0dafd;
}

#gradient-style
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
min-width: 800px;
text-align: left;
border-collapse: collapse;
}
#gradient-style th
{
font-size: 13px;
font-weight: normal;
padding: 8px;
background: #b9c9fe url('table-images/gradhead.png') repeat-x;
border-top: 2px solid #d3ddff;
border-bottom: 1px solid #fff;
color: #039;
}
#gradient-style td
{
padding: 8px;
border-bottom: 1px solid #fff;
color: #669;
border-top: 1px solid #fff;
border-left: 1px solid #fff;
background: #e8edff url('table-images/gradback.png') repeat-x;
}
#gradient-style tfoot tr td
{
background: #e8edff;
font-size: 12px;
color: #99c;
}
#gradient-style tbody tr:hover td
{
background: #d0dafd url('table-images/gradhover.png') repeat-x;
color: #339;
}

HOME PAGE CSS(web1.css):


body{
background:skyblue;
font-family: verdana;
}
#nav{
width:450px;
background:#669999;
height:40px;
margin:0 auto;
}
#nav ul{
list-style-type: none;
}
#nav ul li{
float: left;

}
#nav ul li a{
line-height:25px;
display:block;
height:25px;

width:80px;
font-size:0.8em;
font-weight:bold;
color:WHITE;
text-align:center;
text-decoration:none;
margin:7px;
background: #737373;
}

#nav ul li a:hover{
background:skyblue;
}
#nav ul li a.current, #divNav ul li a.current:hover{
background:#333;
background:-moz-linear-gradient(top, #000, #666)
background:-webkit-gradient(linear,left top,left bottom, from(#000), to(#666));
color:#f63;
cursor:default;
}

#d h2{
color:black;
line-height:25px;
text-align:center;
background:#6699ff;
padding:20px;
margin-bottom: 20px;
}
#d p{

color:white;
line-height:1.6;
font-size:17;
margin-top:18;
}

#footer{
font-size:18;

height:120px;
margin-top: 20px;
background-color:#6699ff;
width: 100%;
text-align: center;
padding-top: 40px;
border-bottom: none;
align:center
}

#img1
{
width: 100%;
text-align: center;
border:none;
}

EXM PAGE:

<%@page import="myPackage.classes.Exams"%>
<%@page import="myPackage.classes.Questions"%>
<%@page import="java.util.ArrayList"%>
<jsp:useBean id="pDAO" class="myPackage.DatabaseClass" scope="page"/>
<link href="styleabc.css" rel="stylesheet" type="text/css" />
<!-- SIDEBAR -->
<div class="sidebar" style="background-image: url(sidebar-1.jpg)">
<div class="sidebar-background" >
<h2 class="logo-text">
Online Examination System
</h2>
<div class="left-menu">
<a href="std-page.jsp?pgprt=0"><h2>Profile</h2></a>
<a class="active" href="std-page.jsp?
pgprt=1"><h2>Exams</h2></a>
<a href="std-page.jsp?
pgprt=2"><h2>Results</h2></a>
</div>
</div>

</div>
<!-- CONTENT AREA -->
<div class="content-area">

<% if(session.getAttribute("examStarted")!=null){ %>

<% }%>

<%
if(session.getAttribute("examStarted")!=null){
if(session.getAttribute("examStarted").equals("1")){
%>
<span id="remainingTime" style="position: fixed;top:250px;left: 280px;font-size:
20px;background: rgba(255,0,77,0.38);border-radius: 5px;padding: 10px;box-shadow: 2px -2px 6px
0px;">
</span>

<script>
var time = <
%=pDAO.getRemainingTime(Integer.parseInt(session.getAttribute("examId").toString())) %>;
time--;
var sec=60;
document.getElementById("remainingTime").innerHTML = time+" : "+sec;
//it calls fuction after specific time again and again
var x= window.setInterval(timerFunction, 1000);

function timerFunction(){
sec--;
// Display the result in the element with id="demo"

if (time < 0) {
clearInterval(x);
document.getElementById("remainingTime").innerHTML = "00 : 00";
document.getElementById("myform").submit();
}
document.getElementById("remainingTime").innerHTML = time+" : "+sec;
if(sec==0){
sec=60;
time--;

}
}
</script>

<form id="myform" action="controller.jsp">

<%
ArrayList list=pDAO.getQuestions(request.getParameter("coursename"),20);
Questions question;
%>
<input type="hidden" name="size" value="<%=list.size()%>">
<input type="hidden" name="totalmarks" value="<
%=pDAO.getTotalMarksByName(request.getParameter("coursename"))%>">

<%
for(int i=0;i<list.size();i++){
question=(Questions)list.get(i);
%>

<center>
<div class="question-panel">
<div class="question" >
<label class="question-label"><%=i+1 %></label>
<%=question.getQuestion() %>
</div>
<div class="answer">
<input type="radio" id="c1<%=i%>" name="ans<
%=i%>" value="<%=question.getOpt1()%>"/>
<label for="c1<%=i%>"><%=question.getOpt1()
%></label>
<input type="radio" id="c2<%=i%>" name="ans<
%=i%>" value="<%=question.getOpt2()%>" />
<label for="c2<%=i%>"><%=question.getOpt2()
%></label>
<input type="radio" id="c3<%=i%>" name="ans<
%=i%>" value="<%=question.getOpt3()%>" />
<label for="c3<%=i%>"><%=question.getOpt3()
%></label>
<input type="radio" id="c4<%=i%>" name="ans<
%=i%>" value="<%=question.getOpt4()%>"/>
<label for="c4<%=i%>" ><%=question.getOpt4()
%></label>

</div>
</div>
<input type="hidden" name="question<%=i%>" value="<
%=question.getQuestion()%>">
<input type="hidden" name="qid<%=i%>" value="<%=question.getQuestionId()
%>">

<%
}

%>

<input type="hidden" name="page" value="exams">


<input type="hidden" name="operation" value="submitted">
<input type="submit" class="add-btn" value="Submit">
</form>

<%
}
}else if(request.getParameter("showresult")!=null){
if(request.getParameter("showresult").equals("1")){
Exams result= pDAO.getResultByExamId(Integer.parseInt(request.getParameter("eid")));
%>
<div class="panel" style="float: left;max-width: 900px">
<div class="title">Result of Recent Exam</div>
<div class="profile">
<span class="tag">Exam Date</span><span class="val"><%=result.getDate()
%></span><br/>
<span class="tag">Start Time</span><span class="val"><%=result.getStartTime()
%></span><br/>
<span class="tag">End Time</span><span class="val"><%=result.getEndTime()
%></span><br/>
<span class="tag">Course Name</span><span class="val"><%=result.getcName()
%></span><br/>
<span class="tag">Obt Marks</span><span class="val"><%=result.getObtMarks()
%></span><br/>
<span class="tag">Total Marks</span><span class="val"><%=result.gettMarks()
%></span><br/>
<span class="tag">Result</span><span class="val"><%=result.getStatus()
%></span></h2>
</div>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div>
<%
}
}else if(session.getAttribute("examStarted")==null ){
%>
<div class="panel form-style-6" style="float: left;max-width: 900px; padding-top: 40px;">
<div class="title" style="margin-top: -60px;">Select Course to Start Exam</div>
<br/>

<form action="controller.jsp">
<br/><br>
<label>Select Course</label>
<input type="hidden" name="page" value="exams">
<input type="hidden" name="operation" value="startexam">
<select name="coursename" class="text">
<%
ArrayList list1=pDAO.getAllCourses();

for(int i=0;i<list1.size();i=i+2){
%>
<option value="<%=list1.get(i)%>"><%=list1.get(i)%></option>
<%
}
%>
</select>
<input type="submit" value="Start Exam" class="form-button">
</form>

</div>
<% }%>

</div>

BIBLIOGRAPHY:

 https://www.javatpoint.com/
 https://www.w3schools.com/
 https://www.youtube.com/

You might also like