You are on page 1of 31

Chapter 1: Introduction

1
1.1 Introduction
Examination is a test not just for the person who gives the exams but also a big test for the
management and teacher who arranges the exams. The traditional method of exams involves
the paperwork, then checking the papers, arranging the marks and then finally feeding the
results in computer for printing the reports. Online Examination System removes most the
drawback that was in the traditional method. The exams are online so user can give the exams
from anywhere around the world. Also the exams results can be calculated automatically just
at the end of exams. It also minimizes the error in calculating results which humans do most of
the time. Also the most important benefit of making exams online is the data is saved in a
structured format which can be used for detail report to make reports, charts and presentation
over a period of time. A person can check question paper that was published 10 years ago in
an instant.
The purpose of this document is to analyse and elaborate on the high-level needs of the Online
Examination System.

1.2 Problem Statement


Today, almost every competitive examination is carried on some web portals. These wen
portals can be termed as ‘Online Examination System’. These systems ensure a secure, faster
and an efficient way to conduct examinations. Similarly, this project will help the students to
practice different mock and real test(s) from this website. This web application is implemented
in 2 modules- Admin/teacher and student module. Student can login (or register) in the student
module to appear for a test and can view their results in the real time. Similarly, a tutor can
login into the admin/teacher module to create a new test. (For security reasons, a tutor has to
register her/him to the system administrator unlike students.) We are developing this
application using Laravel.

1.3 Objective
The underlying objectives of our project are:
 Creating a System Administrator who will be the sole user managing the system on the
backend.
 The System Administrator will have to login facility by entering the correct username and
password.
 The System Administrator can add/edit/delete/view the topic or subjects.
 The System Administrator can add/edit/delete/view the questions and answers of subject.
 The System Administrator can either close the application or can logoff so he temporarily
disconnects from the application and can re – enter by entering the password
 New User can sign up with the system to give examination.

2
 Existing Users can login to give examination.
 User can attempt for the examination directly from the student dashboard.
 User can give any examination multiple times and their result will be displayed at the end
of the examination.

1.4 System requirement

1.4.1 Hardware Requirement

Hard Disk Capacity 350MB

RAM 1GB or above

CPU 1 Ghz or above

GPU 1GB with a decent performance

Table 1

1.4.2 Software Requirement

Operating System Windows 7 or above

Database MySql

Server solution package Xampp 7.2.11

Backend End PHP 7.1.3

Front End HTML5, CSS3 and JavaScript

Dependency manager Composer 1.7.2

Table 2

3
Chapter 2: Review of Related Works

4
2.1 Motivation

Conventional mode of exams are now outdated as we have seen in past couple of decades. Very
few entrance exams are conducting paper-based exams because everyone has understood that
it is time taking, expensive and less secured as compare computer-based exams. A new
methodology is come in the existence that has brought a revolutionary change in the exams
pattern and arrangements. Now the online examination software evolution has changed the
traditional approach of exams.

Earlier students need to buy study material, collect important notes and all that. But with the
help of online test software, the work and load of students become feasible and easy. The
software has made it easy to give them magnificent platform for learning, latest updates and
many more benefits. While choosing the software for online exam, you should be particular
about the latest version having the advanced feature and security concern. Institutes and many
universities are using the software to make their exam process and evaluation features
convenient. It can be used in coaching institute, school, college, and moreover other than
educational institutes, many organizations are using these softwares for recruitment process
more analytical and aptitude based.

Numerous of online examination software are present in the market but to match with the
standard of “Tutoreal” is quite difficult. This has become the first choice of students and
educational institutes. The reasons behind choosing the “Tutoreal” are as follows:

 Excellent question bank management


 Self-enrolment facility
 Live video capturing
 Data import and export
 Live monitoring system
 Communication with students
 Secure interface
 Convenient evaluation process
 Cost effective than physical paper based exams
 Access the study material or learning tips from anywhere
 Instant results features
 Exam creation is easy
 Add or delete the question paper easily
 Eliminate the paper usage and wastage
 Lower down the errors in evaluation process that comes usually in traditional exams
 Controlling exams from anywhere no restriction to reach the centre
 Securely save the whole data of students effectively

Well, this is a comprehensive list of benefits of online exam platform created


by “Tutoreal” because there are many more, and one can only know the advantage once they
use this magnificent software. We feel privileged to see that we are cooperating in the education
field to reduce the hurdles of exam process that used to waste the time of invigilator as well as
students. The present era is technology oriented and we are glad that we have created a well-
organized online test platform that is giving countless benefits to students as well as educational
and organization entities.

5
Another such online assessment platform is “Disamina” allows delivery of learning content
and resources to the students:

 Course monitoring, online collaboration and communications with students.


 File exchange and notes exchange with students.
 Interface to direct students’ attention the study material.
 Online interactions between teachers and students.
 Access to the learning environment from anywhere and anytime.
 Instant results can be processed and displayed.
 Add/Remove questions efficiently.
 Chat box can be used for any doubts/interactions between faculties and students.
 A secured and precise process as system sets time duration for the exam.
 Supervise Examination online by just sitting in one place.
 Automatically save student database and their marks for future use.
 Reduces excess paper usage and wastage.
 Removes fatal errors which would occur in the traditional/manual method.
 Instant evaluation and result output.
 Keeps the content secured until examination begins.
 Export/Import data from/to “Disamina.”

The traditional method is a costly and time-consuming which even leads to excessive paper
and hard work! “Disamina” is one-time investment software which eradicates excessive usage
of papers saving time, money and trees.

Online Assessment software eases by assisting in each and every step required for assessment
work digitally from registration of candidates till the evaluation and output of results quickly
and accurately.

Our college has also developed an online examination system to conduct different tests. This
platform helps to conduct different tests like lab-quizzes, internal assessment quizzes, mock
tests for placements and other competitive examinations. Not only this some of the recruiters
also use this platform to conduct placement drives in the campus. This system has resulted in
a huge reduce of paper work and man power. This system is so secure and efficient that only
one or two invigilators are required to conduct a test for about 30-40 students. This system is
deployed in the intranet of our institute.

2.2 Advantages over existing system


 Most of the online examination system are directly developed on php. But in this
system we are using Laravel which is a more secure approach to develop a web
application. Although Laravel is itself a framework for php.
 Laravel is completely based on MVC, i.e., Model-View-Controller architecture which
makes is much faster than a traditional php web application.
 In this architecture, model interacts with the database, the view contains the UI which
is shown to the end-user and the controller controls all the operations. Because of this,
this architecture makes the web application more precise, more secure and faster than
other applications.

6
Chapter 3: Technologies Used and Implementation

7
3.1 Technologies used
We used different technologies to develop our project. The technologies implemented are:

 Laravel- A php framework


 HTML5
 CSS3
 SQL database

3.1.1 Laravel

3.1.1.1 Introduction
Laravel is a powerful MVC PHP framework, designed for developers who need a simple and
elegant toolkit to create full-featured web applications. Laravel was created by Taylor Otwell.
This is a brief tutorial that explains the basics of Laravel framework.
Laravel is an Open Source framework. It has a very rich set of features which will boost the
speed of Web Development. Laravel will save a lot time if you are planning to develop a
website from scratch. Not only that, the website built in Laravel is also secure. It prevents the
various attacks that can take place on websites.
There are several key features in laravel. They are:

● Modularity
● Testability
● Routing
● Configuration management
● Query builder and ORM (Object Relational Mapper)
● Schema builder, migrations, and seeding
● Template engine
● E-mailing
● Authentication
● Redis
● Queues
● Event and command bus

8
3.1.1.2 Application structure
The root directory of Laravel contains various folders and files as shown in the following
figure.
● app: This directory contains the core code of the application.
● bootstrap: This directory contains the application bootstrapping script.
● config: This directory contains configuration files of application.
● database: This folder contains your database migration and seeds.
● public: This is the application’s document root. It starts the Laravel application. It also
contains the assets of the application like JavaScript, CSS, Images, etc. 3.
● Laravel – Application Structure Laravel 10
● resources: This directory contains raw assets such as the LESS & Sass files,
localization and language files, and Templates that are rendered as HTML.
● storage: This directory contains App storage, like file uploads etc.
● Framework storage (cache), and application-generated logs.
● test: This directory contains various test cases.
● vendor: This directory contains composer dependencies.

9
3.1.1.2.1 Application Directory
This is the application directory.

Figure 1

It contains a variety of additional directories, which are described below:


● Console: All the artisan commands are stored in this directory.
● Events: This directory stores events that your application can raise. Events may be
used to alert other parts of your application that a given action has occurred, providing
a great deal of flexibility and decoupling.
● Exceptions: This directory contains your application's exception handler and is also a
good place to stick any exceptions thrown by your application. Http: This directory
contains your controllers, filters, and requests.
● Jobs: This directory contains the queueable jobs for your application. Listeners: This
directory contains the handler classes for your events. Handlers receive an event and

10
perform logic in response to the event being fired. For example, a UserRegistered
event might be handled by a SendWelcomeEmail listener.
● Policies: This directory contains various policies of the application.
● Providers: This directory contains various service providers.

3.1.1.3. CONFIGURATION
The config directory, as the name implies, contains all of your application's configuration
files. In this directory, you will find various files needed to configure database, session, mail,
application, services etc.

3.1.1.3.1 BASIC CONFIGURATION


● After installing Laravel, the first thing we need to do is to set the write permission for
the directory storage and bootstrap/cache.
● Generate Application key to secure session and other encrypted data. If the root
directory doesn’t contain the .env file then rename the .env.example to .env file and
execute the following command where you have installed Laravel. The newly
generated key can be seen in the .env file.

Figure 2

11
3.1.1.3.2 ENVIRONMENTAL CONFIGURATION
Laravel provides facility to run your application in different environment like testing,
production etc. You can configure the environment of your application in the .env file of the
root directory of your application. If you have installed Laravel using composer, this file will
automatically be created.
In case you haven’t installed Laravel, you can simply rename the .env.example file to .env
file. A sample of Laravel.env file is shown below.

Figure 3

Notice the text underlined gray in the above image. Local environment variable has been set.
It can further be changed to production or testing as per your requirement.

3.1.1.3.3 DATABASE CONFIGURATION


The database of your application can be configured from config/database.php file.
You can set configuration parameters that can be used by different databases and you can
also set the default one to use.

12
Figure 4

NAMING THE APPLICATION


The App Directory, by default, is namespaced under App.
To rename it, you can execute the following command and rename the namespace.
php artisan app:name <name-of-your-application>
Replace the with the new name of your application that you want to give.

MAINTENANCE MODE
We need to modify our website on a regular basis. The website needs to be put on
maintenance mode for this. Laravel has made this job easier. There are two artisan commands
which are used to start and stop the maintenance mode which are described below.

13
Start Maintenance Mode
To start the maintenance mode, simply execute the following command.

php artisan down

Stop Maintenance Mode


After making changes to your website and to start it again, execute the following command.

php artisan up

3.1.1.4. ROUTING

3.1.1.4.1 Basic Routing


Basic routing is meant to route your request to an appropriate controller. The routes of the
application can be defined in app/Http/routes.php file. Here is the general route syntax for
each of the possible request.

Route::get('/', function () {
return 'Hello World';
});
Route::post('foo/bar', function () {
return 'Hello World';
});
Route::put('foo/bar', function () {
//
});
Route::delete('foo/bar', function () {
//
});

14
3.1.1.4.2 ROUTING PARAMETERS
Often in the application, we intend to capture the parameters passed with the
URL. To do this, we need to modify the code in routes.php file accordingly.
There are two ways by which we can capture the parameters passed with the
URL.

 Required Parameters
 Optional Parameters

Required Parameters
These parameters must be present in the URL. For example, you may intend to capture the ID
from the URL to do something with that ID. Here is the sample coding for routes.php file for
that purpose.

Route::get('ID/{id}',function($id){
echo 'ID: '.$id;
});
Whatever argument that we pass after the root URL (http://localhost:8000/ID/5), it will be
stored in $id and we can use that parameter for further processing but here we are simply
displaying it. We can pass it onto view or controller for further processing.

Optional Parameters
There are some parameters which may or may not be present in the URL and in such cases
we can use the optional parameters. The presence of these parameters is not necessary in the
URL. These parameters are indicated by “?” sign after the name of the parameters. Here is
the sample coding for routes.php file for that purpose.

Route::get('/user/{name?}',function($name = 'Virat'){
echo "Name: ".$name;
});

15
3.1.2 CSS3

3.1.2.1 INTRODUCTION
Cascading Style Sheets, fondly referred to as CSS, is a simple design language intended to
simplify the process of making web pages presentable.
CSS handles the look and feel part of a web page. Using CSS, you can control the color of
the text, the style of fonts, the spacing between paragraphs, how columns are sized and laid
out, what background images or colors are used, as well as a variety of other effects.
CSS is easy to learn and understand but it provides a powerful control over the presentation
of an HTML document. Most commonly, CSS is combined with the markup languages
HTML or XHTML.

3.1.2.2 Advantages
● CSS saves time - You can write CSS once and then reuse the 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 the 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 cellphones or for
printing.
● Global web standards – Now HTML attributes are being deprecated and it is being
recommended to use CSS. So it’s a good idea to start using CSS in all the HTML
pages to make them compatible with future browsers.

3.1.2.3 Who Creates and Maintains CSS?


CSS is created and maintained through a group of people within the W3C called the CSS
Working Group. The CSS Working Group creates documents called specifications. When a
specification has been discussed and officially ratified by the W3C members, it becomes a
recommendation.

16
These ratified specifications are called recommendations because the W3C has no control
over the actual implementation of the language. Independent companies and organizations
create that software.

3.1.2.4 Other CSS versions


Cascading Style Sheets level 1 (CSS1) came out of W3C as a recommendation in December
1996. This version describes the CSS language as well as a simple visual formatting model
for all the HTML tags.
CSS2 became a W3C recommendation in May 1998 and builds on CSS1. This version adds
support for media-specific style sheets e.g. printers and aural devices, downloadable fonts,
element positioning and tables.

3.1.3. HTML5

3.1.3.1 Introduction

HTML is the standard markup language for creating Web pages.

 HTML stands for Hyper Text Markup Language


 HTML describes the structure of Web pages using markup
 HTML elements are the building blocks of HTML pages
 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

Since the early days of the web, there have been many versions of HTML:

HTML 1991
HTML 2.0 1995
HTML 3.2 1997
HTML 4.01 1999
XHTML 2000
HTML 5 2014
Table 3

In this project we have used HTML5.

What is new in HTML5?


To make the browser understand that we are using html5 is just by adding a DOCTYPE
declaration. The DOCTYPE declaration for HTML5 is very simple:

17
<!DOCTYPE html>
There are many new elements introduced in this version of HTML. The most interesting new
HTML5 elements are:
 New semantic elements like <header>, <footer>, <article>, and <section>.
 New attributes of form elements like number, date, time, calendar, and range.
 New graphic elements: <svg> and <canvas>.
 New multimedia elements: <audio> and <video>.

3.1.4 SQL database


SQL is Structured Query Language, which is a computer language for storing, manipulating
and retrieving data stored in a relational database.

SQL is the standard language for Relational Database System. All the Relational Database
Management Systems (RDMS) like MySQL, MS Access, Oracle, Sybase, Informix, Postgres
and SQL Server use SQL as their standard database language. Also, they are using different
dialects, such as:

● MS SQL Server using T-SQL,


● Oracle using PL/SQL,
● MS Access version of SQL is called JET SQL (native format) etc.

3.1.4.1 SQL Connection

To make sql connection using Laravel is very easy. One just have to edit the .env file and
update the parameters there. Laravel will make connection with the database and the model of
the framework will interact with the database and execute all the database related query.

18
Chapter 4: Conclusion and Result

19
4.1 Snapshots

4.1.1 Index page

Figure 5

This is the first page or the index page of our project “online examination system”. When any
user wants to access the online examination system, they will be directed to this page.

4.1.2 Login

Figure 6

20
This is the login page.If there is an existing user then he/she can login to his/her account by
giving his/her email id and password.The user can also save his/her email id and password by
clicking on Remember me.

4.1.3 Register

Figure 7

If the user is a new user then he/she can register himself/herself by giving the following datas
which is name and email address.The he /she need to set up a password.

4.1.4 Password recovery

Figure 8

21
If the user forgot the password, then he/she can click on the reset password to change the
password. This will be done by sending a link to change the password to the registered email
address.

4.1.5 Admin Dashboard

Figure 9

This is the admin dashboard. This Dashboard has many different features for admin. In our
project we implemented four features.
● Topics
● Questions
● Question options
● User management

And a logout option.

22
4.1.6 View/Update Topics

Figure 10

In this feature admin can add different topics. Like java, c, c++ etc. If admin want to view
any of the topic, he/she just have to click on the view. If the admin wants to delete the topic,
then he/she just have to click on delete.
At the end, it is shown how many topics are added or entire are done.

23
4.1.7 Add questions

Figure 11

Figure 12

In this feature the admin can add different questions to a particular topic. Admin can also add
4 different options for the question. At the end correct answer is given for the question.
Below that a little explanation to the answer is given.

24
4.1.8. View/Update options

Figure 13

In this feature the options given in the question feature can be managed. The admin can
change the options here or can delete option or can add option.

25
4.1.9. View/Update Users

Figure 14

In this feature admin can view or delete his/her own account. Admin can also view any
student’s account or can delete it.

4.1.10. User Log

Figure 15

26
In this feature admin can see the actions done by student or admin. If admin creates a
question or add an option or delete an option, then it is updated in these table and displayed.
Similarly if any student appears a test ,then the answer given him/her is displayed in the
table.

4.1.11. Student Dashboard

Figure 16

This is the homepage of the student user. When the student will login, then he will be
directed to this page. This page will show how many questions and questions are available. It
has two features:
 New quiz
 My Results

27
4.1.12. New Quiz

Figure 17

Here the student can take up a quiz of his/her favourite topic. Student can give the test and
submit the answers.

Figure 18

After submitting the answers, the student can view his result with a little description.

28
4.1.13. View Results

Figure 19

The student can view all his/her result history from this page.

4.2 Limitations and Future Scope

As our project is in its very early stage of development so it has some limitations and there is
also a scope for future developments, such as:
 Without internet the online examination system cannot be accessed.
 As we are using SQL database, limited number of students can give examination at a
time.
 There is no timer for examination system.
 As the browser can be minimized, the students can cheat easily by accessing other
websites.
 The discussion forum can be implemented.
 The paid/ unpaid versions of topic can be implemented.

29
References
[1] Laravel Tutorial, Tutorial Point, https://www.tutorialspoint.com/laravel/
[2] AdminLTE Documentation, Version 2.3, Almsaeed Studio,
https://adminlte.io/themes/AdminLTE/docu mentation/index.html
[3] Laravel Documentation, Version 5.6, TAYLOR OTWELL., https://laravel.com/docs/5.6
[4] Bootstrap Documentation, Version 4, https://getbootstrap.com/docs/4.0/getting-
started/introduction/
[6] PHP Documentation, http://php.net/docs.php
[7] JavaScript Documentation, http://devdocs.io/javascript/
[8] Tutoreal, http://tutoreal.in
[9] Disamina, http://disamina.in

30
Appendix
List of tables
 Table 1: Hardware Requirement…………………………………………………….3
 Table 2: Software Requirement……………………………………………………..3
 Table 3: Different versions of HTML………………………………………………18

List of figures
 Figure 1: Application directory of Laravel………………………………………….10
 Figure 2: Key generation for Laravel application...………………………………....11
 Figure 3: .env.example file for Laravel……………………………………………...12
 Figure 4: Database configuration for Laravel application……………………….......13
 Figure 5: Index (snapshot)…………………………………………………………...20
 Figure 6: Login (snapshot)…………………………………………………………...20
 Figure 7: Register (snapshot)………………………………………………………...21
 Figure 8: Password Recovery (snapshot)……………………..……………………...21
 Figure 9: Admin Dashboard (snapshot)……………………………………………...22
 Figure 10: View/Update topic (snapshot)…………………………………………....23
 Figure 11: Add Questions (snapshot)………………………………………………...24
 Figure 12: Add Questions(contd.) (snapshot)………………………………………..24
 Figure 13: View/Update options (snapshot)………………………………………….25
 Figure 14: View/Update User (snapshot)………………………………………….....26
 Figure 15: User Log (snapshot)…………………………………………………….. .26
 Figure 16: Student Dashboard (snapshot)……………………………………………27
 Figure 17: Take quiz (snapshot)…..............................................................................28
 Figure 18: Instant Result after quiz (snapshot)...………………………………….…28
 Figure 19: View Results (snapshot)……………………………………………….....29

Web Links
 https://www.tutorialspoint.com/laravel/
 https://adminlte.io/themes/AdminLTE/docu mentation/index.html
 https://laravel.com/docs/5.6
 https://getbootstrap.com/docs/4.0/getting-started/introduction/
 http://php.net/docs.php
 http://devdocs.io/javascript/
 http://tutoreal.in
 http://dismina.in

31

You might also like