Sunteți pe pagina 1din 23

1.

Introduction
1.1. Objectives
SCOPE TESTING SERVICES is a Manpower Outsourcing and an Assessment
Company providing services since 2011 in both online and offline sector. We deliver
and conduct tests both in the Computer based or Paper based mode. We are also
providing consultancy services to various recruiters, Perfect Hire is our motto.

Our Trained manpower can assist your organization in the following areas –
 Interview Scheduling
 Telephonic Screening
 Interview co-ordination
 Recruitment event management
 All kinds of Promotional Event Management Test Invigilation
 Job Fair Management
 IT Personnel
 Proctors

1.2. Location
Scope Testing Services private limited company is located at:
RZ-123-D, GROUND FLOOR VAISHALI COLONY DABRI PALAM MARG
South West Delhi DL 110046 IN.

1.3. History
Scope Testing Services Private Limited is a Private incorporated on 30 April 2015. It
is classified as Non-govt. Company and is registered at Registrar of Companies,
Delhi. Its authorized share capital is Rs.1,000,000 and its paid up capital is
Rs.120,000. It is involved in Business activities n.e.c.

Scope Testing Services Private Limited's Annual General Meeting (AGM) was last
held on 29 September 2017 and as per records from Ministry of Corporate Affairs
(MCA), its balance sheet was last filed on 31 March 2017.

Directors of Scope Testing Services Private Limited are Rohit Raj, Amit Chauhan,
Hari Narayan, Sachin Tyagi, Sunny Chauhan and .

Scope Testing Services Private Limited's Corporate Identification Number is (CIN)


U74900DL2015PTC279636 and its registration number is 279636.Its Email address
is info@SCOPETESTINGSERVICES.COM and its registered address is RZ-123-D,
GROUND FLOOR VAISHALI COLONY DABRI PALAM MARG South West
Delhi DL 110046 IN , - , .

1
SCOPE TESTING SERVICES is a Manpower Outsourcing and an Assessment
Company providing services since 2011 in both online and offline sector. We deliver
and conduct tests both in the Computer based or Paper based mode. We are also
providing consultancy services to various recruiters, Perfect Hire is our motto.

Our Trained manpower can assist your organization in the following areas –
 Interview Scheduling
 Telephonic Screening
 Interview co-ordination
 Recruitment event management
 All kinds of Promotional Event Management Test Invigilation
 Job Fair Management
 IT Personnel
 Proctors

2. Project

2.1. Problem Statement


Most of the currently existing portals we know have some problems like crashing
or getting hanged. Sometimes there are some network issues on the examination hall.
Sometimes server did not respond while opening the examination login portal.
Online examination process security is one of the critical challenges. Proper
authentication, authorization process should be followed to ensure right candidate is
appearing for the exam in secure environment without any activity of malpractices.
System should be able to audit entire activities of the exam process to identify
leakages or security lapses during exam process.

Ever y year, the universiti es are flooded with applications for vari ous
courses screening them through with wri tten t ests is a cos tl y affair.
In addition to this, a lot of effort get s consum ed in short listing
ph ysical test facilit ies, added to this is the burden of making
arrangements of invi gil ators, who are supposed to proctor far off test
locations.

The institutes face considerab l e challenges in managi ng the l ogisti cs


and financi al burden that com es in a package deal with the pen &
paper. Disrupting the dail y college li fe of the students to m ake space
for exam centers adds the cherr y on top.

2
2.2. Objective
The objective behind conducting the online exam portal which does not get crash and
hang. We are going to make an attractive examination portal in which user can create
an account after which user have to sign-in to attempt the test. Most of the currently
existing portals we know have some problems like crashing or getting hanged. We will
try to overcome these problems. We tried to make this site robust, reliable and it takes
less bandwidth to move from one page to next page. We have also working on
encryption decryption of the password using some algorithm.

2.3. Solution

2.3.1. User friendly System


User-friendly systems are not only needed for the creator, but also for participants.
“Intuitive” is key. One of the best examples is the software of the iPhone. It has a
lot of options, but is still something you can figure out without needing a manual.
Of course, an online examination system is different, but still has some
similarities. Once an online examination system is not user-friendly, creators and
participants will move on to another system. This is obviously something you
don't want to happen.

2.3.2. Responsive Design


A responsive design is an approach where the web designer wants to reach an
optimal web experience for a wide range of devices. A responsive site scales
with the size of the screen without sacrificing the text readability or usability of
the user interface.

2.3.3. Automatically Checked Answers


Having to check all answers is very time-consuming. So, having the answers
checked automatically and instantly will eventually pay off. It’s less work for
the creator of the exam and participants don’t have to wait too long for getting
the results of their exams. Catching two birds with one stone.

3
2.3.4. Network and System Crash and failure
Our work is to watch continuously that there should be perfect and good
internet connectivity so that students face no problems while giving exams. And
also there is a team who continuously keep an eye on all the system, if there is
any system failure they can solve immediately, so student can give exam very
comfortably without any problem.

2.3.5. Reduction in logistics


Online exams help to overcom e the challenge of setti ng up
ph ysical t est conducting locations. This not onl y helps t o
minimize the resources i.e. tim e, cost of set up and the need for
human proctors but also speeds up t he entire process of
examination. In universiti es, online exam s accel erate the entire
admission process where appli cations can be screened with
minimal resources. The idea of conduct ing sem est er
examinations and various assessm ents online just makes t he
entire process smoot h and eas y to handl e.

2.3.6. Accessibility to remote areas


In an att empt to reach the unt apped t alent, online exams have
broken the barriers of geograph y. Wi th a global assessment
solution training institutes, universities can conduct assessments
worldwide wit h ease. The abilit y to conduct tests requi ring not hing
more than an internet connection means that examination can be
conducted to target an yone, an ywhere.

2.3.7. Scalable
Online exams have the abilit y to cater t o a l arge audi ence and can
easil y manage l arge amount of cont ent. Taking this feature into
account educational institution who suffer a paucit y of tim e will
find it ver y conveni ent to conduct examinations with l e ast was tage
of thei r bandwidt h. Just a computer with an active connection and
sometime a webcam to take tests makes t his possibl e.

4
2.3.8. Remote proctoring
It ensures a cont rolled envi ronm ent, where the candidat es are
under continuous surveill ance whi ch reduces the abilit y to cheat.
This feature solves 2 purposes: eradi cat es malpracti ces and reduces
the need for too many invi gil ators. The webcam keeps an eye on
the candidates at all times, behav io ral al erts noti f y t he proct or of
an y unpl easant acti vit y, web browsing tolerance prevents them
from switchi ng screens and a recorded vi deo of the same is saved
for future reference.

Moreover these recorded vi deo pla ys a n int egral part in


revaluati on . In case the student is not satisfi ed with the way the
evaluation of the assessment is conduct ed, he/she can request for
a feedback from one of the in -house experts. The expert, in turn,
takes t he assist ance of the remotel y p roctored video and gi ves a
comprehensive feedback to the candidat e with proper justi fi cation
for the same and an evidence to show i f requi red.

2.4. Technologies Used

2.4.1. CentOs
CentOS Linux provides a free and open source computing platform to anyone
who wishes to use it. CentOS Linux releases are built from publicly available
open source code provided by Red Hat, Inc. for Red Hat Enterprise Linux.
This source code is available on the CentOS Git website. CentOS Linux is the
Community Development Platform for the Red Hat family of Linux
distributions. See this FAQ for more information.
CentOS is one of the preferred Operating Systems for web hosting servers. It is
one of the countless Linux distributions available, but what distinguishes it from
all the others is the long-term support, which ensures that you will always have
a reliable and protected OS. Each CentOS version that is released is supported
for 10 years, which is a lot longer than with any other OS on the market. CentOS
also has a much more numerous developer community than other distributions,
so in case you experience any problem or have any questions, you will be able
to quickly get the info that you need. CentOS is regarded as one of the best server
Operating Systems, since it's very stable and secure, that makes it really reliable
even if you host confidential info. Because it is open-source, you'll be able to
modify every part of it and personalize it according to your needs, not to mention
that the overall cost for a CentOS-based server will be lower, as you will not
have to pay license fees of any type.

CentOS is available with every single virtual private server that we provide, at
hosting and you'll be able to select it during the order process from among a

5
couple of other Operating Systems. Determined by the software which you'd
like to set up and run, you can select between the 32-bit and the 64-bit version
and then your new VPS will be up and running soon after that. CentOS supports
all the three hosting Control Panels that we supply - panel, Direct Admin and
Hestia. This will allow you to choose if you'd like to employ the server for your
own web sites and to manage it as one large account, or if you want to be able
to create multiple hosting accounts and resell them to other people. Of course,
you may also buy a VPS without Control Panel and you will get a server with
an Operating System and the Apache web server software, but no other thing on
it, so that you can set up just the software which you want for your apps.

CentOS is one of the Operating Systems that we provide with all our dedicated
server plans. During the sign-up process, you will be able to choose between the
32-bit and the 64-bit release of the OS and ensure that the software environment
on your new server meets the requirements of the apps that you intend to set up.
In contrast to other Operating Systems, CentOS will also allow you to pick from
a couple of hosting Control Panels, depending on what you need the server for.
With Hestia, for example, you're able to control the whole server like an
individual account irrespective of the number of domain names which you host,
while with Panel and Direct Admin, you can generate a separate account for
each and every domain that can give you the opportunity to start a web hosting
reseller business. If you don't select any Control Panel, you'll receive the server
with CentOS only, as the software that comes with the Control Panels will not
be installed. We also provide regular OS updates included in our own Managed
Services package, so you will not have to invest effort and time downloading
and setting up the most up-to-date and most secure software on the dedicated
server.

2.4.2. C3725 IOS image


C3725 is an IOS image of Cisco 3725 router used in GNS3 for emulation.
A router is a networking device that forwards data packets between computer
networks. Routers perform the traffic directing functions on the Internet.
Features of Cisco 3725:
 Advanced integration module (AIM) slots
 Support for double-wide network modules
 Two sockets for synchronized DRAM (SDRAM)
 User-configurable memory (shared memory or processor memory)
 Two Fast Ethernet ports
 High-speed console and auxiliary ports (up to 115.2 kbps)

6
2.4.3. Solar PuTTY
Solar-Putty is an application that allows users to manage remote sessions and
connect to any device on the network. It features the ability to manage multiple
sessions from one console with a tabbed interface which is really convenient.
Users can save credentials or private keys to any session which makes for easy
use and logins. It can also automate all the scripts that you need it to run when
you log into a system and establish a connection.
Feature of Solar PuTTY:
 Support SCP, SSH, Telnet and SFTP
 Credential Saving
 Multiple Session Support via Tabs
 Quick Access for most used sessions
 Auto-Connect Capabilities
 Graphical SFTP file transfer
 Support of Post Connection Scripts

2.5. Methodologies Used

2.5.1. My SQL
MySQL is an Oracle-backed open source relational database management
system (RDBMS) based on Structured Query Language (SQL). MySQL runs on
virtually all platforms, including Linux, UNIX and Windows. Although it can
be used in a wide range of applications, MySQL is most often associated with
web applications and online publishing. MySQL is an important component of
an open source enterprise stack called LAMP. LAMP is a web development
platform that uses Linux as the operating system, Apache as the web server,
MySQL as the relational database management system and PHP as the object-
oriented scripting language. (Sometimes Perl or Python is used instead of PHP.)

MySQL is based on a client-server model. The core of MySQL is MySQL


server, which handles all of the database instructions (or commands). MySQL
server is available as a separate program for use in a client-server networked
environment and as a library that can be embedded (or linked) into separate
applications. MySQL operates along with several utility programs which support
the administration of MySQL databases. Commands are sent to MySQL Server
via the MySQL client, which is installed on a computer. MySQL was originally
developed to handle large databases quickly. Although MySQL is typically
installed on only one machine, it is able to send the database to multiple
locations, as users are able to access it via different MySQL client interfaces.
These interfaces send SQL statements to the server and then display the results.

7
 My SQL Features

MySQL enables data to be stored and accessed across multiple storage


engines, including InnoDB, CSV, and NDB. MySQL is also capable of
replicating data and partitioning tables for better performance and
durability. MySQL users aren't required to learn new commands; they
can access their data using standard SQL commands.
MySQL is written in C and C++ and accessible and available across over
20 platforms, including Mac, Windows, Linux and Unix. The RDBMS
supports large databases with millions records and supports many data
types including signed or unsigned integers 1, 2, 3, 4, and 8 bytes long;
FLOAT; DOUBLE; CHAR; VARCHAR; BINARY; VARBINARY;
TEXT; BLOB; DATE; TIME; DATETIME; TIMESTAMP; YEAR;
SET; ENUM; and OpenGIS spatial types. Fixed- and variable-length
string types are also supported.

2.5.2. WAMP Server


Stands for "Windows, Apache, MySQL, and PHP." WAMP is a variation
of LAMP for Windows systems and is often installed as a software bundle
(Apache, MySQL, and PHP). It is often used for web development and
internal testing, but may also be used to serve live websites.
The most important part of the WAMP package is Apache (or "Apache HTTP
Server") which is used run the web server within Windows. By running a local
Apache web server on a Windows machine, a web developer can
test webpages in a web browser without publishing them live on the Internet.

Features

 Manage your Apache, MySQL and MariaDB services

 Install and switch Apache, MySQL, MariaDB and PHP releases

 Manage your servers settings

 Access your logs

 Access your settings files

 Create alias

 Use VirtualHost as hosters

8
2.5.3. HTML(Front end)
First developed by Tim Berners-Lee in 1990, HTML is short for Hypertext
Markup Language. HTML is used to create electronic documents (called
pages) that are displayed on the World Wide Web. Each page contains a series
of connections to other pages called hyperlinks. Every web page you see on the
Internet is written using one version of HTML code or another.
"Hypertext" refers to the hyperlinks that an HTML page may contain. "Markup
language" refers to the way tags are used to define the page layout and elements
within the page. Below is an example of HTML used to define a basic webpage
with a title and a single paragraph of text.

<!doctypehtml>
<html>
<head>
<title>TechTerms.com</title>
</head>
<body>
<p>This is an example of a paragraph in HTML.</p>
</body>
</html>

The first line defines what type of contents the document contains. "<!doctype
html>" means the page is written in HTML5. Properly formatted HTML pages
should include <html>, <head>, and <body> tags, which are all included in the
example above. The page title, metadata, and links to referenced files are
placed between the <head>tags. The actual contents of the page go between
the <body> tags.
The web has gone through many changes over the past few decades, but HTML
has always been the fundamental language used to develop webpages.
Interestingly, while websites have become more advanced and interactive,
HTML has actually gotten simpler. If you compare the source of an HTML5
page with a similar page written in HTML 4.01 or XHTML 1.0, the HTML5
page would probably contain less code. This is because modern HTML relies
on cascading style sheets or JavaScript to format nearly all the elements within
a page.

2.5.4. CSS(Front end)


Stands for "Cascading Style Sheet." Cascading style sheets are used to
format the layout of Web pages. They can be used to define text styles,
table sizes, and other aspects of Web pages that previously could only be
defined in a page's HTML.

CSS helps Web developers create a uniform look across several pages of a
Web site. Instead of defining the style of each table and each block of text
within a page's HTML, commonly used styles need to be defined only once
in a CSS document.
9
Advantages of CSS
 CSS saves time − You can write CSS once and then reuse same sheet in multiple
HTML pages. You can define a style for each HTML element and apply it to as many
Web pages as you want.

 Pages load faster − If you are using CSS, you do not need to write HTML tag
attributes every time. Just write one CSS rule of a tag and apply it to all the occurrences
of that tag. So less code means faster download times.

 Easy maintenance − To make a global change, simply change the style, and all
elements in all the web pages will be updated automatically.

 Superior styles to HTML − CSS has a much wider array of attributes than HTML,
so you can give a far better look to your HTML page in comparison to HTML
attributes.

 Multiple Device Compatibility − Style sheets allow content to be optimized for more
than one type of device. By using the same HTML document, different versions of a
website can be presented for handheld devices such as PDAs and cell phones or for
printing.

2.5.5. PHP(Back End)


PHP started out as a small open source project that evolved as more and
more people found out how useful it was. Rasmus Lerdorf unleashed the
first version of PHP way back in 1994.

 PHP is a recursive acronym for "PHP: Hypertext Preprocessor".

 PHP is a server side scripting language that is embedded in HTML. It is used to


manage dynamic content, databases, session tracking, even build entire e-commerce
sites.

 It is integrated with a number of popular databases, including MySQL, PostgreSQL,


Oracle, Sybase, Informix, and Microsoft SQL Server.

2.5.6. Internet Protocol Configuration(IP configuration)


Internet Protocol Configuration (ipconfig) is a Windows console application that
has the ability to gather all data regarding current Transmission Control
Protocol/Internet Protocol (TCP/IP) configuration values and then display this
data on a screen. Ipconfig also refreshes the Domain Name System (DNS) and
Dynamic Host Configuration Protocol (DHCP) settings each time it is invoked.

10
When invoked without additional parameters, ipconfig simply displays the IP
address, default gateway and subnet mask for all available adapters.
Ipconfig is the command line counterpart to winipcfg in Windows 95, 98 and ME.
This command is mostly useful for computers that are set to obtain an IP address
automatically, as it allows users to check which address is assigned by the DHCP
or other configuration protocols.
In Mac OS X, the ipconfig utility is simply a wrapper for the IPConfiguration
agent. This serves to control both DHCP and BootP right from the command line.
The syntax for using ipconfig is: ipconfig /parameter name. For example,
"ipconfig /all" displays the entire TCP/IP configuration of all available network
adapters.

Fig : 1

2.5.7. Networking
Networking, also known as computer networking, is the practice of transporting
and exchanging data between nodes over a shared medium in an information
system. Networking comprises not only the design, construction and use of a
network, but also the management, maintenance and operation of the network
infrastructure, software and policies.Computer networking enables devices and
endpoints to be connected to each other on a local area network (LAN) or to a
larger network, such as the internet or a private wide area network (WAN). This
is an essential function for service providers, businesses and consumers
worldwide to share resources, use or offer services, and communicate.
Networking facilitates everything from telephone calls to text messaging to
streaming video to the internet of things (IoT).The level of skill required to
operate a network directly correlates to the complexity of a given network. For
example, a large enterprise may have thousands of nodes and rigorous security
11
requirements, such as end-to-end encryption, requiring specialized network
administrators to oversee the network.

Fig : 2

Fig: 3

12
2.6. Coding Diagrams.
Creating Menu for Home Page

< div id='cssmenu'>


< ul>
< li class=''>< a href='${pageContext.request.contextPath}'>< span>Home< /span
>< /a>< /li>
< li>< a href='${pageContext.request.contextPath}/login'>< span>Login< /span><
/a>< /li>
< li>< a href='${pageContext.request.contextPath}/register'>< span>Register< /
span>< /a>< /li>
< li class='#'>< a href='#'>< span>Submit a Question< /span>< /a>< /li>
< li class='#'>< a href='#'>< span>Feedback< /span>< /a>< /li>
< li>< a href='#'>< span>Contribute< /span>< /a>< /li>
< li>< a href='#'>< span>Contact us< /span>< /a>< /li>
< /ul>
< /div>

Checking whether the user is logged in or not

< c:if test='${not empty sessionScope.user}'>

< div style="position:absolute;top:70px;left:1100px">


Logged as < a href="#" class="button username">${sessionScope.user}< /a>
< /div>

< div style="position:absolute;top:70px;left:1300px"


< a href='${pageContext.request.contextPath}/logout'>Logout< /a>
< /div>

< /c:if>

13
Showing the quiz images on home page

< div style="position:absolute;left:120px;top:60px">


< table cellpadding="0" cellspacing="50">

< tr>
< td>< a href="takeExam?test=java">< img height="200" width="200" src="${pageCont
ext.request.contextPath}/images/java.png"/>< /a>< /td>
< td>< a href="takeExam?test=javascript">< img height="200" width="200" src="${pa
geContext.request.contextPath}/images/javascript.png"/>< /a>< /td>
< td>< a href="takeExam?test=sql">< img height="200" width="200" src="${pageConte
xt.request.contextPath}/images/sql-logo.png"/>< /a>< /td>
< td>< a href="takeExam?test=python">< img height="200" width="200" src="${pageCo
ntext.request.contextPath}/images/python.jpg"/>< /a>< /td>
< /tr>
< tr>
< td>< a href="takeExam?test=css">< img height="200" width="200" src="${pageConte
xt.request.contextPath}/images/css.jpg"/>< /a>< /td>
< td>< a href="takeExam?test=php">< img height="200" width="200" src="${pageConte
xt.request.contextPath}/images/php-logo.jpg"/>< /a>< /td>
< td>< a href="takeExam?test=linux">< img height="200" width="200" src="${pageCon
text.request.contextPath}/images/logo-linux.png"/>< /a>< /td>
< td>< a href="takeExam?test=mongodb">< img height="200" width="200" src="${pageC
ontext.request.contextPath}/images/mongodb_logo.png"/>< /a>< /td>
< /tr>

< /table>
< /div>

14
Creating the User Registration Page
There is nothing fancy in the registration page; just an HTML form awaiting the user
to provide his name, email and password. Once we get that, we pass this to
Registration Controller servlet to create an account.

Registration Code

protected void doPost(HttpServletRequest request, HttpServletResponse response) t


hrows ServletException, IOException {
String username=request.getParameter("username");
String email=request.getParameter("email");
String password=request.getParameter("password");

Connection con=DatabaseConnectionFactory.createConnection();

try
{
Statement st=con.createStatement();
String sql = "INSERT INTO users values ('"+username+"','"+passwo
rd+"','"+email+"')";
System.out.println(sql);
st.executeUpdate(sql);
}catch(SQLException sqe){System.out.println("Error : While Insert
ing record in database");}
try
{
con.close();
}catch(SQLException se){System.out.println("Error : While Closing
Connection");}
request.setAttribute("newUser",username);
RequestDispatcher dispatcher=request.getRequestDispatcher("/WEB-I
NF/jsps/regSuccess.jsp");
dispatcher.forward(request, response);
}

Getting Database Connection

15
In this application we have used MySQL database to store user credentials. To get a
connection to database we have defined a static method create Connection in
Database Connection Factory class, where all database specific information is stored.

Users’ table

create table users(username varchar(50),email varchar(50),password varchar(50))

DatabaseConnectionFactory.java

public class DatabaseConnectionFactory {

private static String dbURL="jdbc:mysql://localhost/quiz";


private static String dbUser="root";
private static String dbPassword="";

public static Connection createConnection()


{
Connection con=null;
try{
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException ex) {
System.out.println("Error: unable to load dri
ver class!");
System.exit(1);
}
con = DriverManager.getConnection(dbURL,dbUser,dbPassword);
}
catch(SQLException sqe){ System.out.println("Error: While Creat
ing connection to database");sqe.printStackTrace();}
return con;
}

Creating the Login Page

16
Login page is very much similar to registration page where we are providing two
input fields asking user to provide a username and password. Once we get the
username and password entered by the user we pass it to Login Controller to
authenticate user.

Login Validation Code

protected void doPost(HttpServletRequest request, HttpServletResponse response) t


hrows ServletException, IOException {

String username=request.getParameter("username");
String password=request.getParameter("password");

Connection con=DatabaseConnectionFactory.createConnection();

ResultSet set=null;
int i=0;
try
{
Statement st=con.createStatement();
String sql = "Select * from users where username='"+username+"'
and password='"+password+"' ";
System.out.println(sql);
set=st.executeQuery(sql);
while(set.next())
{
i=1;
}
if(i!=0)
{ HttpSession session=request.getSession();
session.setAttribute("user",username);
RequestDispatcher rd=request.getRequestDispatcher("/WEB
-INF/jsps/home.jsp");
rd.forward(request, response);

}
else
{ request.setAttribute("errorMessage","Invalid username or pas
sword");
17
RequestDispatcher rd=request.getRequestDispatcher("/WEB
-INF/jsps/login.jsp");
rd.forward(request, response);
}
}catch(SQLException sqe){System.out.println("Error : While Fetchi
ng records from database");}
try
{
con.close();
}catch(SQLException se){System.out.println("Error : While Closing
Connection");}
}

Main Controller for the Application


It is the Main Controller where we have written the code to redirect the user to a
ppropriate page according to the incoming request url.

@WebServlet(urlPatterns = { "/login", "/register", "/takeExam", "/logout" })


public class MainController extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request,


HttpServletResponse response) throws ServletException, I
OException {

String applicationContextPath = request.getContextPath();

if (request.getRequestURI().equals(applicationContextPath + "/"))
{
RequestDispatcher dispatcher = request
.getRequestDispatcher("/WEB-INF/jsps/hom
e.jsp");
dispatcher.forward(request, response);

} else if (request.getRequestURI().equals(
applicationContextPath + "/login")) {
18
RequestDispatcher dispatcher = request
.getRequestDispatcher("/WEB-INF/jsps/log
in.jsp");
dispatcher.forward(request, response);

} else if (request.getRequestURI().equals(
applicationContextPath + "/register")) {
RequestDispatcher dispatcher = request
.getRequestDispatcher("/WEB-INF/jsps/reg
ister.jsp");

dispatcher.forward(request, response);
} else if (request.getRequestURI().equals(
applicationContextPath + "/takeExam")) {
request.getSession().setAttribute("currentExam", null);

String exam = request.getParameter("test");


request.getSession().setAttribute("exam", exam);

System.out.println(request.getSession().getAttribute("us
er"));
if (request.getSession().getAttribute("user") == null) {
request.getRequestDispatcher("/login").forward(r
equest,
response);

} else {
RequestDispatcher dispatcher = request
.getRequestDispatcher("/WEB-INF
/jsps/quizDetails.jsp");
dispatcher.forward(request, response);
}
} else if (request.getRequestURI().equals(

applicationContextPath + "/logout")) {
request.getSession().invalidate();
RequestDispatcher dispatcher = reques
19
.getRequestDispatcher("/WEB-INF/jsps/hom
e.jsp");
dispatcher.forward(request, response);
}

Implementing the Logout Functionality


Once the user clicks on logout, link session is invalidated and all the objects bind in
the session are removed.

request.getSession().invalidate();

Storing the Quiz questions


< quiz>
< title>MongoDB Quiz (01/09/2015)< /title>
< questions>
< question>
< quizquestion>MongoDB is a < /quizquestion>
< answer>Relational Database< /answer>
< answer>Object Relational Database< /answer>
< answer>Graph Database< /answer>
< answer>Document Database< /answer>
< correct>3< /correct>
< /question>

< question>
< quizquestion>What is the name of MongoDB server ?< /quizquestion>
< answer>mongoserver< /answer>

20
< answer>mongod< /answer>
< answer>mongodb< /answer>
< answer>mongo< /answer>
< correct>1< /correct>
< /question>

< question>
< quizquestion>What is the name of MongoDB client ?< /quizquestion>
< answer>mongo< /answer>

< answer>mongod< /answer>


< answer>mongodb< /answer>
< answer>mongo-client< /answer>
< correct>0< /correct>
< /question>
< /questions>
< /quiz>

3. Conclusion

We have tried to implement an examination portal for those who want to give the
exam online or want to practice for the competitions. When the user register on
this portal the password is stored in the encrypted for using some algorithm. User
can take the test online of his/her choice regarding the field and see the progress
according to the score card generated.
The autom ated report serves the purpose of eliminating manual
correction and saves man y man hours. The report is a comprehensive

21
approach to the candidate’s perform ance which has a question wise
and section wise summar y of the attempt.
The time t ak en t o check papers and anal yze each and ever y question
in pen and paper examination is ver y hecti c and time consuming,
unintentional errors are bound t o happen when the checkers get
monotonous checking, neither are t he y profici ent to precisel y define
the areas of strengt hens and weakness for each student. Detail ed
reports are also useful/ for students who are looking for career
guidance, with the report the y get a clear idea of thei r compet enci es
and eases decision making. This is how online anal yti cal repo rt
forms the new face of evaluation.

4. References

[1] https://wiki.centos.org/FAQ/General

[2] https://en.wikipedia.org/wiki/Internet_Protocol

[3] https://serverlift.com/tech-lift/server-handling/

22
[4] https://www.onlineexambuilder.com/knowledge-center/exam-knowledge-
center/objectives-of-online-examination-system/item10614

[5] https://www.blog.epravesh.com/top-4-challenges-manage-online-exam-process/html

23

S-ar putea să vă placă și