0% found this document useful (0 votes)
129 views51 pages

Project Dissertation Sem V 32027

The document provides an introduction to online examination systems. It discusses how educational institutions are increasingly administering exams online using these systems. It outlines the background, objectives, purpose, scope and applicability of online exam systems. Key points covered include automating exam administration, providing anytime/anywhere access for students, more efficient grading and results, and improved security over traditional paper exams. The organization of the report is also overviewed.

Uploaded by

Anshuman Pandey
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)
129 views51 pages

Project Dissertation Sem V 32027

The document provides an introduction to online examination systems. It discusses how educational institutions are increasingly administering exams online using these systems. It outlines the background, objectives, purpose, scope and applicability of online exam systems. Key points covered include automating exam administration, providing anytime/anywhere access for students, more efficient grading and results, and improved security over traditional paper exams. The organization of the report is also overviewed.

Uploaded by

Anshuman Pandey
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/ 51

Chapter 1:

Introduction
Every aspect of education has increasingly included online and technological methods.
Today’s modern education is largely dependent on information technology. The usage
of an online examination system, also known as an online test simulator, allows for the
effective administration of exams as there is no need to hand review test papers. The
online tests are occasionally referred to as e-tests. For remote students, exams are
always administered online or over the intranet.

These days, a lot of higher education institutions have websites that enable them to
administer exams online. It would be safe to state that the procedure of taking exams
online has lately become standard. The majority of tests taken online provide results as
soon as the candidate completes the test. When the student has a valid login and
password, they are only allowed to access to take the test. The user can benefit from
characteristics like security and simplicity.

According to the conventional technique, students are notoriously inclined to cheat,


which might skew the results of the test. The pen and paper method of writing exams,
which has been used for decades, may not be pleasant to use because of the issues
that are typically associated with it, such as examination venue capacity issues, exam
candidate discomfort, delays in the release of results, examination malpractice, printing
costs, and human error. Universities must undergo a significant restructuring as a result
of the transition from paper-based to information technology-based examination and
examination administration methods.

The introduction is divided into the following sections:

1.1 Background: -

● Any educational institution or organisation that administers exams to candidates


will utilise the online examination management system.
● They can administer an online test with the aid of this method.
● This system is used to administer aptitude tests for employment or admission
purposes, and it will also assist in producing test questions for educational
institutions.
● The proposed approach would assist in maintaining a list of students and
candidates who are prepared to take tests.
● Additionally, it will keep track of members of the institute or organisation. It will
keep track of all test-related information, such as questions, exam details, and
schedules.
● The suggested method would also make it possible to administer exams online,
allowing users to do so at any time and candidates from all over the world to take
part.
● Multiple-choice and multiple-response questions make up the majority of the
questions in an online test.
● This will also assist in generating questions for open-ended questions, which are
frequently used in educational institutions.

1.2 Objectives:

● This online examination system, which is web-based, will assist in carrying out
the examination.
● The Online Examination System project offers a web application that will
significantly cut down the time needed to conduct the exam and get the results.
● This project will make it possible for students and professors to take exams
online, which will give both parties an effective platform.

1.3 Purpose, Scope & Applicability:

Following is a description of the Purpose, Scope, and Applicability:

1.3.1 Purpose-

● The purpose of this project is to contribute to the examination system.


● An online examination system is a unique kind of web-based program that
enables students to take exams in a precise and effective way.
● The online examination system comprises of multiple-choice questions as
well as descriptive questions.
● Economic feasibility.
● The system's objective is to fully automate the manual process of
administering exams to an online web-based examination system.
● User-friendly interface.

1.3.2 Scope-

● Educational institutions are the target audience for the online examination
system (like schools, colleges, universities, training institutes).
● Being a web-based application, it may be used anytime, anywhere.
● It reduces the time needed to manually grade student tests and for
showing up .
● This strategy will improve exam security and openness.
● When the test is over, the system creates a tabular marksheet.
● Reasonably priced
● People can show up directly from their laptop or desktop computer at
home.
● The system is developed using a sequential model step process to ensure
that it will preserve different software engineering characteristics and
attributes..

1.3.3 Applicability-

● It completely automates the manual procedures that were previously used


to take written examinations.
● A technological approach called the online examination system (OES)
offers immediate results while also saving time.
● In order to evaluate and enhance student achievements, universities and
colleges must use a contemporary online testing system.
● Additionally, there is a chance that the paper will leak while being sent to
several testing locations; however, using an online testing method reduces
this danger.
● All admission tests are taken online due to the efficient and precise
marking process.
● This way of administering exams has been chosen by many businesses,
universities, and institutions since it is more efficient, easy, and rapid.
● For a number of years, technology has supported online exams
effectively. Over time, it has improved the procedure to accommodate
more students and guarantee an easier online exam.

1.4 Achievements
● The exam was put up on the web platform with ease and efficiency.
● Better Security, Control, and Reliability
● Exam Generation and Results Automatically
● Efficiency in time
● Exam scheduling is made simple for course administrators by the
scalability of online assessments.
● Online exams' effect on the environment is one of their most significant yet
unintended successes. For the purpose of printing question and answer
sheets for pen-and-paper exams, a lot of paper is needed. In addition,
there is a significant amount of trash produced by printing mistakes or an
overestimation of the number of students, not to mention the
environmental impact of transporting the exam papers to and from testing
centres. Online tests are the most ecologically friendly type of evaluation,
plain and easy.

1.5 Organization of report


● Chapter 1: This chapter summarizes the motive idea and use of the project.
● Chapter 2: A brief overview about all the important modules used in the system.
● Chapter 3: Includes the need to make project along with the planning phase.
● Chapter 4: Describes the basic connectivity of the modules.
● Chapter 5: Contains the code of the system along with the different types of tests
carried out.
● Chapter 6: Shows the result of the tests carried out.
● Chapter 7: Contains the summary of the project, its limitations and scope in the
Future.

CHAPTER 2
1.SURVEY OF TECHNOLOGIES
Recently, there has been a significant increase in the usage of these technologies to
implement business logic in web applications.

2.1 Html

● The preferred markup language for texts intended to be viewed in a web browser
is HTML, or the HyperText Markup Language.
● HTML documents are downloaded from a web server or local storage by web
browsers, who then turn
● into multimedia web pages.
● HTML initially featured cues for the document's design and semantically explains
the structure of a web page.
● The foundation of HTML pages are HTML elements.
● Images and other objects, like interactive forms, may be embedded within the
produced page using HTML techniques.
● By indicating structural semantics for text elements like headings, paragraphs,
lists, links, quotations, and other objects, HTML offers a way to generate
structured texts.
● Tags, which are written in angle brackets, are used to distinguish HTML
elements.
● Content is added directly to the page through tags like "<img /> and <input />"
● In addition to providing context for the text of the document, other tags, like <p>,
may also contain additional tags as sub-elements.
● The HTML tags are used by browsers to understand the page's content but are
not displayed.
● HTML allows for the insertion of scripts written in scripting languages like
JavaScript that modify the appearance and content of web pages.
● CSS defines how content is presented and how it is arranged.
● Since 1997, the World Wide Web Consortium (W3C), which previously oversaw
the HTML and now oversees the CSS standards, has pushed for the usage of
CSS rather than explicit presentational HTML.
● Video and audio are displayed using HTML5, a version of HTML that primarily
uses the canvas element in conjunction with javascript.
● Tim Berners-Lee created the initial iteration of HTML in 1993. Since then, HTML
has existed in a variety of forms.
● With the aim of distributing content that can be read and accessed via web
browsers, HTML 1.0 was introduced in 1993.
● However, not many of the developers worked on websites. Additionally, the
language was not developing.
● In the 2000s, HTML 4.01—which became a reliable standard in December 1999
—was the most widely used version.

● Then there is HTML 2.0, which was released in 1995 and has all the
characteristics of HTML 1.0 as well as a few extra features.
● HTML 1.0 was the default markup language for designing and developing
websites until January 1997, and it improved a number of HTML's key features.
● Then HTML 3.0 comes around, when Dave Raggett presented a brand-new
paper or draught on HTML. It contained updated HTML capabilities that gave
webmasters more potent tools for creating web pages. However, the new
HTML's potent capabilities made it more difficult for the browser to make
additional advancements.
● The next version of HTML is HTML 4.01, which is widely utilised and was a
popular HTML version before HTML 5.0, which is currently available and being
used globally. HTML 4.01, which was released in 2012, can be compared to
HTML 5, which is an expanded version.
● Because every tag in HTML is predetermined, making it relatively simple to learn,
we only need to understand how tags function and what properties they have.
● Web browsers, such as Chrome, Internet Explorer, Firefox, Safari, and others,
are pieces of software that can read HTML and output web page designs.
● Any basic editor, like Notepad, can be used to create HTML. In addition, various
programmes like Notepad ++, NetBeans, Adobe Dreamweaver, and Sublime are
frequently used for creating and modifying HTML.
● The two extensions used to create and save HTML files are ".html" and ".htm."
HTML code can be created in any text editor and saved as either "filename.html"
or "filename.htm."

2.2 CSS

● A style sheet language called Cascading Style Sheets (CSS) is used to describe
how a document produced in a markup language like HTML or XML is presented
(including XML dialects such as SVG, MathML or XHTML).
● The World Wide Web's foundational technologies, along with HTML and
JavaScript, include CSS.
● CSS specifies how items should be shown in various media, including speech,
paper, screens, and other media.
● Layout, colour, and font may all be separated from content and presentation
using CSS.
● By specifying the pertinent CSS in a separate.css file, which reduces complexity
and repetition in the structural content
● This separation can improve content accessibility, provide more flexibility and
control in the specification of presentation characteristics.
● Enables multiple web pages to share formatting, and enable the.css file to be
cached to improve page load speed between the pages that share the file and its
formatting.
● The ability to offer the same HTML page in several styles for various rendering
techniques, including on-screen, in print, by voice (using a speech-based
browser or screen reader), and on Braille-based tactile devices.
● It has also made possible by the separation of formatting and content. If a user
accesses the material on a mobile device, CSS additionally provides rules for
different formatting.
● When many style rules match an element, the priority system is used to
determine which rule should be applied, hence the name cascading. This priority
hierarchy is predictable.
● The World Wide Web Consortium maintains the CSS specifications (W3C). RFC
2318 has registered the Internet media type (MIME type) text/css for usage with
CSS (March 1998).
● For CSS documents, the W3C offers a free CSS validation service.
● Prior to CSS, the HTML markup of HTML publications contained almost all of
their presentational properties.
● It was necessary to specifically declare every font colour, background style,
element alignment, border style, and size within the HTML, frequently more than
once.
● CSS enables authors to transfer a large portion of the data to a style sheet,
which greatly simplifies HTML.
● CSS level 1, which was released on December 17th, 1996, is the first CSS
specification to be recognised as a W3C Recommendation. The original
developers are listed as Hakon Wium Lie and Bert Bos.
● The W3C created the CSS level 2 specification, which was then released as a
recommendation in May 1998. A superset of CSS 1, CSS 2 adds a number of
additional features such the idea of media types, absolute, relative, and fixed
positioning of components, z-index, support for auditory style sheets (which were
eventually replaced by the CSS 3 speech modules), bidirectional text, and new
font attributes like shadows.
● CSS level 2 revision 1, sometimes known as "CSS 2.1," corrects flaws in CSS 2,
gets rid of features that aren't fully supported or interoperable, and adds
implemented browser extensions to the standard.
● For many years, CSS 2.1 alternated between the Working Draft and Candidate
Recommendation statuses in order to adhere to the W3C Process for defining
technical specifications.
● On February 25, 2004, CSS 2.1 was designated as a Candidate
Recommendation, however on June 13, 2005, it was changed back to a Working
Draft for more review.
● On July 19, 2007, it was promoted to Candidate Recommendation once more.
● In 2009, it received two updates. On December 7, 2010, it was returned to Last
Call Working Draft due to amendments and clarifications.
● CSS 3 is composed of numerous distinct documents referred to as "modules," as
opposed to CSS 2, which is a sizable single standard defining a variety of
capabilities.
● Each module enhances or expands the CSS 2 features while maintaining
backward compatibility.
● Around the time the original CSS 2 recommendation was published, work on
CSS level 3 began.
● In June 1999, the first CSS 3 draughts were released.
● Due to the fact that the CSS4 specification has been divided into numerous
different modules, there is no one, integrated version of it.
● At CSS Level 3, modules that built on Level 2 elements first appeared. Some of
them have already attained Level 4 or are on the verge of doing so. Other
modules, like Flexbox, that describe wholly new functionality have been classified
as Level 1, and some of them are on the verge of Level 2.
● The CSS Working Group will occasionally release "Snapshots," which are
collections of whole modules and sections of other draughts that are deemed
stable enough for browser developers to implement.
● Five of these "best current practises" documents have so far been released as
Notes, in the years 2007, 2010, 2015, 2016, 2017, and 2018.
● Each web browser utilises a different layout engine to render online pages, and
they all do not consistently implement CSS capability.
● Numerous coding strategies have been developed to target particular browsers
with workarounds because browsers do not read CSS completely (commonly
known as CSS hacks or CSS filters).
● Lack of compatibility in the most popular browsers may make it more difficult for
new CSS capabilities to be adopted.
● For instance, Internet Explorer added support for several CSS 3 capabilities
slowly, which hindered their uptake and hurt the browser's standing with
developers.
● In some versions, the non-vendor-prefixed filter property also employed a
proprietary syntax.

2.3 JavaScript

● Along with HTML and CSS, JavaScript , also known as JS, is a computer
language that is a foundational element of the World Wide Web.
● By 2024, 98% of websites will use client-side JavaScript for webpage behavior,
frequently combining third-party libraries.
● To run the JavaScript code on users' devices, all popular web browsers contain
a separate JavaScript engine.
● JavaScript is an ECMAScript-compliant high-level, frequently just-in-time
compiled language.
● It features first-class functions, prototype-based object orientation, and dynamic
typing.
● It supports event-driven, functional, and imperative programming paradigms and
is multi-paradigm.
● It offers application programming interfaces (APIs) for using the Document
Object Model, regular expressions, dates, and standard data structures (DOM).
● There are no input/output (I/O) features like networking, storage, or graphics
capabilities in the ECMAScript standard.
● In reality, JavaScript I/O APIs are offered by the web browser or another runtime
system.
● Originally only used in web browsers, JavaScript engines are now essential parts
of some servers and a wide range of applications.
● Node.js is the most widely used runtime system for this application.
● Even while Java and JavaScript share the same name, syntax, and standard
libraries, the two programming languages are separate and have very different
designs.
● In 1993, Mosaic, the first web browser with a graphical user interface, was made
available.
● It was easy for non-techies to use and contributed significantly to the World
Wide Web's explosive expansion.
● The main developers of Mosaic later created the Netscape company, which in
1994 produced the more advanced browser Netscape Navigator. The majority of
people started using this.
● In the early days of the Internet, web pages could only be static and lacked the
capacity to behave dynamically once they were loaded in a browser.
● In 1995, Netscape made the decision to incorporate a scripting language into
Navigator in response to the burgeoning web developer community's demand to
do away with this restriction.
● In order to do this, they pursued two different strategies: working with Sun
Microsystems to integrate Java and recruiting Brendan Eich to integrate Scheme.
● In addition to the initial support for CSS and HTML extensions, JScript was
initially made available in 1996.
● Every one of these implementations stood out from their Navigator counterparts.
● Because to these variations, it was challenging for web designers to create
websites that functioned well in both browsers, which resulted in the long-
standing use of the "best seen in Netscape" and "best viewed in Internet
Explorer" emblems.
● Outside of web browsers, the use of JavaScript has significantly increased with
Ryan Dahl's 2009 launch of Node.js. Node creates a standalone JavaScript
runtime system by combining the V8 engine, an event loop, and I/O APIs.
● Millions of developers were using Node as of 2018, and npm had the most
modules of any package management in the entire world.
● Currently, editions of the ECMAScript draught specification are created through
recurring annual snapshots and are publicly maintained on GitHub.
● Potential linguistic changes are examined through a thorough proposal
procedure.
● Developers now look up the status of forthcoming features individually rather
than by edition numbers.
● Most of the structured programming syntax from C is supported by JavaScript
(e.g., if statements, while loops, switch statements, do while loops, etc.).
● Scoping is one example of a partial exception; prior to ECMAScript 2015, block
scoping was only available in JavaScript and was added with the let and const
keywords.
● Expressions and statements are distinct in JavaScript, as they are in C.
Automatic semicolon insertion, which allows semicolons (which terminate
statements) to be omitted, is one syntactic distinction from C.
● In order to provide objects and methods by which scripts can interact with the
environment, JavaScript often depends on a run-time environment (for example,
a web browser) (e.g., a web page DOM). These settings only support one thread.
● Additionally, JavaScript depends on the run-time environment to enable the
inclusion/import of scripts (such as HTML).

2.4 Mongo dB

● MongoDB is a cross-platform document-oriented database application that is


open source. MongoDB, a NoSQL database application, employs documents
that resemble JSON and may or may not include schemas.
● The Server Side Public License (SSPL), which is used to distribute MongoDB
and is developed by MongoDB Inc., is viewed as non-free by some distributions.
● The software company 10gen started working on MongoDB in 2007 as a part of
a platform-as-a-service project.
● The business switched to an open-source development strategy in 2009 and now
provides commercial assistance in addition to other services. The name 10gen
was changed to MongoDB Inc. in 2013.
● On October 20, 2017, MongoDB went public and was debuted on the NASDAQ
under the ticker symbol MDB with an IPO price of $24 per share.
● With its international headquarters in Dublin and its US headquarters in New
York City, MongoDB is a multinational corporation.
● On October 30, 2019, MongoDB partnered with Alibaba Cloud, which will provide
a MongoDB-as-a-service option to its clients. Customers can use BABA's
international data centres to access the managed offering.
● Field, range query, and regular expression searches are supported by MongoDB.
● Queries can include user-defined JavaScript functions as well as the ability to
return specified document fields.
● Additionally, queries can be set up to provide a random sample of results of a
specific size.
● High availability is offered by MongoDB through replica sets.
● Two or more copies of the data make up a replica set. At any point, any member
of a replica-set may take on the function of a primary or secondary replica.
● By default, all writes and reads are performed on the primary replica. Using built-
in replication, secondary replicas keep a copy of the primary's data on hand.
● The replica set automatically runs an election procedure to choose which
secondary should replace a failing primary replica.
● The use of secondary storage for read operations is optional, however the default
consistency of the data there is just eventual.
● If there is just one secondary member in the replicated MongoDB deployment, an
additional daemon called an arbiter needs to be introduced.
● Its sole obligation is to decide how to hold the upcoming primary election. As a
result, even with just one primary and one secondary server, an idealised
distributed MongoDB implementation needs at least three different servers.
● Utilizing sharding, MongoDB scales horizontally. [33] The distribution of the data
in a collection is determined by the user's selection of a shard key.
● Based on the shard key, the data is divided into ranges and dispersed among
various shards. (A master with one or more replicas is called a shard.)
● Alternately, the shard key might be hashed to correspond to a shard, allowing for
an equitable distribution of data.
● When utilised as a file system with load balancing and data replication
capabilities across numerous machines, MongoDB is known as GridFS.
● Grid file system is the name of the feature that comes with MongoDB drivers.
● Developers have access to functions for manipulating files and content thanks to
MongoDB.
● Plugins for Nginx and lighttpd as well as the mongofiles programme can be used
to access GridFS.
● Each chunk of a file that is divided into by GridFS is stored as a separate
document.
● The aggregation pipeline, the map-reduce function, and single-purpose
aggregation techniques are the three ways that MongoDB offers to execute
aggregation.
● Data aggregation and batch processing of data may both be done with map-
reduce.
● The Aggregation Pipeline, however, offers higher speed for the majority of
aggregation operations, according to MongoDB's documentation.
● Users may receive the kinds of results that the SQL GROUP BY clause is used
for thanks to the aggregation framework. Similar to Unix pipes, aggregation
operators can be connected to create a pipeline.
● The aggregation framework provides statistical operators like standard deviation
as well as the $lookup operator, which may combine documents from several
collections.
2.5 Express.js

● Back end web application framework for Node.js called Express.js, or just
Express, is made available as free and open-source software under the MIT
License.
● It is made for creating APIs and online applications. It has been referred to as
Node.js's de facto standard server framework.
● Its first creator, TJ Holowaychuk, referred to it as a Sinatra-inspired server, which
means that it is comparatively simple and has a tonne of functionality that can be
added via plugins.
● In popular development stacks like the MEAN, MERN, or MEVN stack, Express
works as the back-end component with the MongoDB database programme and
a JavaScript front-end framework or library.
● StrongLoop purchased the project management rights in June 2014.
● IBM purchased StrongLoop in September 2015; in January 2016, IBM declared it
will hand over management of Express.js to the Node.js Foundation incubator.
● Express is a versatile online application framework for Node.js that offers a
strong set of functionality for both web and mobile apps.
● Making a rich API is quick and simple when you have access to so many HTTP
utility methods and middleware.
● While preserving the familiar and adored Node.js capabilities, Express offers a
thin layer of basic web application functionalities.
● Express is the foundation of many well-known frameworks.

2.6 Nodejs

● Node.js is an open-source, cross-platform, back-end runtime environment for


JavaScript that executes JavaScript code outside of a web browser and runs on
a JavaScript Engine (i.e., V8 engine).
● It was created to help create scalable network applications.
● JavaScript may be used by developers to create command-line tools and for
server-side scripting, which produces dynamic web page content on the server
before the page is transmitted to the user's web browser.
● Node.js, which unifies web application development around a single
programming language rather than separate languages for server-side and
client-side scripts, reflects a "JavaScript everywhere" paradigm as a result.
● The event-driven design of Node.js supports asynchronous I/O.
● These design decisions attempt to maximise performance and scalability for real-
time Web applications as well as web applications with many input/output
activities (e.g., real-time communication programmes and browser games).
● The OpenJS Foundation, which is supported by the Linux Foundation's
Collaborative Projects programme, is now in charge of the Node.js distributed
development project, which was formerly overseen by the Node.js Foundation.
● About thirteen years after the debut of the first server-side JavaScript
environment, Netscape's LiveWire Pro Web, Ryan Dahl wrote the original version
of Node.js in 2009.
● Only Linux and Mac OS X were supported in the original edition. Dahl oversaw
its creation and upkeep, while Joyent later provided funding.
● Dahl criticised sequential programming as the most popular method of writing
code because it either blocked the entire process or implied multiple execution
stacks in the case of simultaneous connections.
● Dahl also criticised Apache HTTP Server, the most popular web server in 2009,
for having limited capabilities to handle many concurrent connections (up to
10,000 and more).
● On November 8, 2009, Dahl presented the project at the first European JSConf
● Node.js integrated a low-level I/O API, an event loop, and Google's V8
JavaScript engine.
● Npm, a package manager for the Node.js environment, was released in January
2010.
● The package manager is made to make the process of installing, updating, and
uninstalling packages simpler.
● It also makes it simpler for programmers to publish and distribute the source
code of Node.js packages.
● Web servers and other network programmes are typically built using Node.js.
● The main distinction between Node.js and PHP is that Node.js functions are non-
blocking, whereas most PHP functions block until completion (ones execute only
when prior commands have completed) (commands execute concurrently or
even in parallel, and use callbacks to signal completion or failure).
● With tier 2 support for SmartOS and IBM AIX and experimental support for
FreeBSD, Node.js is officially supported on Linux, macOS, Microsoft Windows
8.1 and Server 2012 (and later), and Microsoft Windows 8.1 and later. For IBM I
(AS/400), OpenBSD also functions, and LTS versions are available.
● The given source code can be constructed on operating systems that are
comparable to those that are officially supported, or it can be altered by third
parties to support different ones, like NonStop.
● Node.js enables the building of fast web servers in JavaScript by bringing event-
driven programming to web servers.
● Without employing threading, developers may build scalable servers by using an
abridged version of event-driven programming that utilises callbacks to indicate
when a task is finished.
● JavaScript's simplicity of use and the strength of Unix network programming are
combined by Node.js.
● Since Google's V8 JavaScript engine was open-sourced under the BSD licence,
Node.js was built on top of it.
● It is adept at using common internet protocols including HTTP, DNS, and TCP.
● A well-known language like JavaScript also made Node.js available to the web
developer community.

2.7 Bootstrap

● A free and open-source CSS framework called Bootstrap is designed for front-
end web development that prioritises mobile responsiveness.
● It includes design templates for typography, forms, buttons, navigation, and
other interface elements in HTML, CSS, and (optionally) JavaScript.
● An HTML, CSS, and JS library called Bootstrap aims to make the creation of
educational web pages as simple as possible (as opposed to web apps).
● The main goal of adding it to a web project is to apply the colour, size, font, and
layout options of Bootstrap to that project.
● Therefore, the main determinant is whether the responsible developers like such
options. All HTML components have basic style declarations once Bootstrap is
introduced to a project.
● As a result, texts, tables, and form components show consistently across all
online browsers. In order to further personalise the appearance of their contents,
developers can make use of the CSS classes offered in Bootstrap.
● For instance, Bootstrap offers support for page headlines, tables in light and
dark colours, and more.
● Additionally, Bootstrap includes a number of JavaScript components that may be
used independently of other frameworks like jQuery.
● They offer extra UI components including dialogue boxes, tooltips, progress bars,
drop-down menus, and carousels. Each Bootstrap element is made up of an
HTML framework, CSS declarations, and occasionally supplementary JavaScript
code.
● Additionally, they increase the functionality of a few already-existing interface
components, such as the auto-complete feature for input fields.
● The layout components of Bootstrap are the most noticeable since they have an
impact on the entire web page.
● Every single element on the page is contained within the "Container," which is
the fundamental layout element.
● A fixed-width container or a fluid-width container are the two options available to
developers.
● The former employs one of the five specified fixed widths based on the size of
the screen displaying the page, whereas the latter always fills the width of the
web page:
● less than 576 pixels in size
● pixels 576-768
● 768 x 992 px
● pixel range 992-1200
● above 1200 pixels in size
● Web frameworks have been created by the open-source community to speed up
the creation of apps.
● Connect, Express.js, Socket.IO, Feathers.js, Koa.js, Hapi.js, Sails.js, Meteor,
Derby, and several other frameworks fall under this category.
● There are also a number of packages available for interacting with other
languages or runtime environments like Microsoft.NET.
● Specific editing and debugging tools are available in contemporary desktop IDEs
for Node.js applications.
● Some examples of these IDEs include Atom, Brackets, JetBrains WebStorm,
Microsoft Visual Studio (with Node.js Tools for Visual Studio,or TypeScript with
Node definitions NetBeans, Nodeclipse Enide Studio, (Eclipse-based), and
Visual Studio Code.
● Node.js is also supported by a few web-based online IDEs, including the visual
flow editor in Node-RED, Cloud9 IDE, Codeanywhere, Codenvy, and Codenvy.

2.8 React J.S

● React is a free and open-source front-end JavaScript library for creating user
interfaces based on UI components.
● It is commonly known as React.js or ReactJS. It is kept up-to-date by Meta
(previously Facebook) and a group of independent programmers and
businesses.
● With frameworks like Next.js, React may be the foundation for single-page,
mobile, or server-rendered apps.
● Making React apps typically necessitates the use of extra libraries for routing
and specific client-side functionality because React is only concerned with state
management and presenting that information to the DOM.
● Declarative programming is a tenet of React.
● Developers create views for each application state, and when data changes,
React updates and renders components. Programming that is imperative
contrasts with this.
● Component-based entities make up React programming. These components
must be created in the SRC folder using the Pascal Case naming standard as
they are reusable (capitalize camelCase).
● The React DOM library may be used to render components to a specific DOM
element. The values between components may be sent using "props" while
displaying a component.
● Utilizing a virtual Document Object Model, or virtual DOM, is another noteworthy
aspect. React effectively changes the browser's shown DOM by first creating an
in-memory data-structure cache, calculating the differences, and updating that.
● Reconciliation is the name given to this procedure. While the React libraries only
render the subcomponents that really change, this enables the programmer to
write code as though the full page is updated on each change. Significant
efficiency improvements are made by this selective rendering.
● It eliminates the need to manually recalculate the CSS style, page layout, and
rendering for the whole page.
● Class-based components' lifecycle methods use a type of hooking that enables
the execution of code at certain times during the component's lifespan.
● The JavaScript language syntax has been extended via JSX, or JavaScript
Syntax Extension.
● HTML-like in appearance, JSX offers a mechanism to organise component
rendering using a syntax that is well-known to many developers.
● Although they are not required, React components are commonly written in JSX
(components may also be written in pure JavaScript).
● JSX is comparable to another extension syntax for PHP called XHP that was
developed by Facebook.
● React's fundamental design is applicable to more than just the browser's HTML
rendering.
● For instance, Netflix and PayPal employ universal loading to output identical
HTML on both the server and client, while Facebook includes dynamic charts
that render to canvas elements.
● Developers may "hook into" React state and lifecycle aspects from function
components using hooks, which are functions. [17] Hooks enable you to utilise
React without classes because they do not operate inside of classes.
● Several built-in hooks are available in React, including useState,[19] useContext,
useReducer, useMemo, and useEffect.
● The Hooks API Reference lists other examples.
● The most often employed functions, useState and useEffect, are used to
regulate side effects and states, respectively.
● Numerous cloud hosting services, including Jelastic, Google Cloud Platform,
AWS Elastic Beanstalk, Joyent, and others, support Node.js.
● The Flux architecture was created as an alternative to the well-known model-
view-controller architecture to suit React's idea of unidirectional data flow (which
may be compared with AngularJS's bidirectional flow).
● Flux has the ability to send actions to a store via a central dispatcher, and
changes to the store are then propagated back to the view.
● This propagation is performed when utilised with React using component
properties. Since its inception, libraries like Redux and MobX have supplanted
Flux.

2.9. Visual studio code

● Microsoft created the source-code editor Visual Studio Code, generally known as
VS Code, for Windows, Linux, and macOS using the Electron Framework.
● Debugging support, syntax highlighting, intelligent code completion, snippets,
code refactoring, and embedded Git are among the features.
● The theme, keyboard shortcuts, options, and extensions that offer more
functionality can all be changed by users.In the Stack Overflow 2021
Development Survey, 82,000 participants chose Visual Studio Code as the most
widely used developer environment tool, with 70% of them claiming to use it.
● On April 29, 2015, Microsoft made its initial announcement of Visual Studio Code
at the 2015 Build conference. Soon later, a preview build was made available.
● The MIT License was applied to the release of Visual Studio Code's source code
on November 18, 2015, and it was made accessible on GitHub. Support for
extensions was also declared.
● The public preview phase of Visual Studio Code ended on April 14, 2016, and it
was made available online.
● While Microsoft's releases are private freeware, the majority of Visual Studio
Code's source code has been made available on GitHub under the permissive
MIT License.

CHAPTER 3
REQUIREMENTS AND ANALYSIS
3.1 Problem Definition
Online testing is incredibly beneficial to users. The purpose of this project is to
offer a quick, easy, and immediate way to take the exam. It may offer unique benefits
for the applicants/students. The online testing platform can automatically tally the points
allotted for each question to arrive at the final score mark for the inquiries. The
questions may have a time constraint. OnlineExam system enables skipping to specific
questions based on previous questions answer. The number of times a student can take
the exam online is limited.Create a query. The site's login module aids users in logging
in. This is why he/she
must accurately type the login and password.

3.1.1 Problem Statement:


● At the moment, teachers who conduct exams must manually go over the
answers, which takes time and raises the possibility that inaccurate results will be
produced.
● This procedure is used as the standard way of examination in our country.
● High chances of leaking the paper before examination.
● Exam Coordinators require a long time to conduct the examination in the
traditional manner.
● Examiners are not able to maintain the hard copy of answer sheets for large
number of students
● Paper wastage is done in huge amounts.
● In a rare instance, students lose a whole year because they are unable to travel
from their home to the exam site owing to political or general concerns.

3.1.2 Problem definition:


There is a link for new users to register on this page, and the login feature on this
page enables previously registered users to access the site directly. Student modules
are primarily intended for students. This makes it easier for students to sign up for and
take the test. Name, address, phone number, role id, and password must be entered
during registration. After the exam, this system will deliver results based on correct and
incorrect answers. The administrator is the main target of the administrator module. This
will include the development of the question paper, a preview of the question paper that
has already been generated, and the administrator's report.

3.1.3 Existing system:


● The manual system is more susceptible to human errors.
● Involves more paper work.
● Requires proper place or campus
● More man power.
● Time consuming
● Security issues when question paper leaks are a possibility
3.1.4 Proposed system:
● Reduces time
● Less manpower
● Due to time and money being wasted, after implementing the system, it will be
efficient in both areas.
● Contributes the nature by reducing paper use
● To stop exam questions from being leaked ahead of time.
● Reduce the number of human errors made when the paper is corrected using the
conventional approach
● Economic feasibility.

3.2 Requirements Specification


3.2.1 Functional requirements
Functional specifications
Software is needed to administer online tests and deliver results. The system
needs to meet the following criteria:

User:

The user of this app is a student. In this approach, students must first register to
take the test. When they visit the login page again. Then, he or she checks the
exam rules and regulations. The test is given once the paper has been chosen.

Administrator:

The whole database for such software is maintained by the administrator. Admin
must first register before logging in. He has the right to add the students,
teachers, and heads. He periodically refreshes the database.

Teacher:
The questions can be seen, posted, and deleted by each subject instructor;
moreover, they lack permission to examine questions submitted by other
teachers.

Head (Exam coordinator):

The questions that the teacher posts can be seen, updated and modified by the
exam head. Head is able to publish and examine the results.

3.2.2 Non-Functional requirements


● Encourage high concurrency;
● Allowing students to take tests anywhere, at any time;
● Should be aware of the purpose of putting exam questions and test papers
online.
● Support the management of exam questions, test papers, and management that
is simple to classify.
● Manage candidate information and add candidates online.
● Enabling applicants to respond online using a variety of devices, including
computers and mobile phones.
● Reduce manual output by realizing automated judgment.

3.3 Planning and Scheduling


3.3.1 Gantt Chart
One of the most common and effective methods of displaying activities
(tasks or events) displayed against time is a Gantt chart, which is frequently used
in project management. A list of the activities is located on the chart's left side,
and a suitable time scale is located along the top. A bar is used to represent
each activity, and the position and length of the bar correspond to the activity's
beginning, middle, and end dates. This enables you to quickly determine:
● What the various activities are When each activity begins and ends
● How long each activity is scheduled to last
● Where activities overlap with other activities, and by how much
● The start and end date of the whole project Fig 1.1 Gantt chart

Fig 1.1 Gantt chart

3.3.2 Pert chart


An effective project management tool for planning, coordinating, and
scheduling tasks is the PERT chart. The U.S. Navy created the PERT, or
Program Evaluation Review Technique, in the 1950s to manage the Polaris
submarine missile programme. The Critical Path Method (CPM), a comparable
methodology, was created for project management in the private sector around
the same time.
In a PERT chart, a project is represented graphically as a network
diagram with numbered nodes (circles or rectangles) designating events or
milestones and labeled vectors (directional lines) designating tasks in the project.
Fig: 1.2 PERT Chart

3.4 Software and Hardware Requirements


3.4.1 Software requirements:
● Html
● C.S.S
● JavaScript
● Mongo dB
● Express
● Nodejs
● Bootstrap
● React J.S
● Visual Studio Code

3.4.2 Hardware requirements:


● Processor: Intel dual-core or above
● Processor Speed:1.0GHZ or above
● RAM: 4GB RAM or above
● Hard Disk: 20 GB hard disk or above
● Operating system: Windows XP or above

3.5 Preliminary Product Description


The preliminary analysis to ascertain the system's viability is the fundamental
procedure in the system development life cycle. The preliminary investigation's goal is
to assess project requests. It is neither a design nor does it contain a comprehensive list
of information about the system. Instead, gathering data enables committee members to
assess the project request's merits and reach a knowledgeable conclusion regarding
the project's viability.

The preliminary investigation's analysts should achieve the following goals:


● Make sure you fully comprehend the project request.
● Determine the project's size.
● A cost-benefit analysis of potential alternatives.
● Evaluate the operational and technical viability of alternative strategies
● Inform management of the findings and provide suggestions for accepting or
rejecting the idea.

3.6 Conceptual Models


Implementation methodology
Prototype Model:
The Prototyping Model is one of the most popular Software Development
Life Cycle Models (SDLC model). This model is utilised when customers are
unsure of the precise project requirements in advance. According to this model, a
prototype of the finished product is developed, evaluated, and improved based
on customer feedback until a final, acceptable prototype is attained, which serves
as the basis for creating the finished product.

The two main components of this model are typically:


● Waterfall development is the basis for prototype development and other
processes.
● The requirement gathering phase is where prototype development begins.
Each prototype build requires quick design.
● Typically, the developers would use a prototype model as feedback to
hone and adjust the requirements.
● The waterfall approach is used to begin actual development as soon as
the customer approves the prototype.

Advantages of Prototype Model:


● Early in the life cycle, customers get to see a portion of the product.
Increased customer comfort and satisfaction are the results of this.
● Because there is room for improvement, new requirements are easily met.
● It is easy to add missing features.
● Errors can be found much earlier, saving time and money while also
enhancing the quality of the software.
● The developer can use the created prototype again in the future for more
difficult projects.
● Adaptability in design.

Disadvantages of Prototype Model:


● Both financially and in terms of time expensive.
● The specifications of the client might change too much between
evaluations of the prototype.
● inadequate documentation as a result of continuously shifting customer
requirements.
● It is very challenging for developers to implement all of the client-
requested changes.
● The quantity of iterations required before the customer finally accepts the
prototype is unknown.
● Customers occasionally request delivery of the finished product as soon
as they see an early prototype.
● Rushing to make prototypes could lead to less-than-ideal outcomes for
developers.
● The customer may lose interest in the product if the initial prototype
doesn't meet his or her expectations.

3.6.1 ER-diagram:
The relationship between individuals, things, places, concepts, or events
within an information system is depicted graphically in an entity-relationship
diagram (ERD). A relational database can be built on top of an ERD, a data
modelling technique that can be used to define business processes. The
customer may lose interest in the product if the initial prototype doesn't meet his
or her expectations.

The three main cardinal relationships are:


● One-to-one (1:1): For example, suppose each customer in a database
has only one mailing address.
● One-to-many (1: M): For instance, a single customer might order multiple
items. Although the customer is linked to numerous entities, they are all
related to the same customer.
● Many-to-many (M: N): For instance, at a company where all call center
agents deal with multiple clients, each agent is linked to a number of
clients, and a number of clients may be linked to a number of agents.
The elements of an ERD are:
● Entities
● Relationships
● Attributes
Steps involved in creating an ERD include:
● Recognizing and classifying the entities
● Figuring out how each of the entities interact.
● Analyzing the interactions' nature and figuring out the relationships'
cardinality
● Designing the ERD
The notation used in ER Diagram:
3.6.2 Use case diagram:
From the perspective of the user, a use case describes how a system
behaves. It gives a system's main processes and a functional description of
those processes. It offers a graphical representation of the system's users and
the interactions they have with it.
A use case diagram's primary goal is to illustrate a system's dynamic
nature. The system's requirements, which take into account both internal and
external factors, are accumulated. It refers to individuals, use cases, and a
number of other things that refer to the actors and components responsible for
putting use case diagrams into practise. It displays the potential interactions
between a system component and an external entity.

Elements used in Use Case diagram:


3.6.3 Data Flow Diagram (DFD):
A data flow diagram demonstrates the path that information takes through
a system or process. It includes the various subprocesses the data moves
through, data inputs and outputs, and data stores. Standardized symbols and
notation are used to construct DFDs in order to describe various entities and their
relationships.
Data flow diagrams provide a visual representation of systems and
processes that are challenging to describe in a long text fully. These diagrams
can be used to plan out a new system for implementation or to map out an
existing system and improve it. By visualizing each component, it is simple to
spot inefficiencies and create the best system possible.
DFD symbols differ slightly depending on the methodology (Gane and
Sarson vs. Yourdon and Coad). The fundamental concepts are nevertheless the
same. Processes, data stores, external entities, and data flows are the four
fundamental components of a data flow diagram. The typical shapes for both
methodologies are depicted in the image below.

Elements table used in DFD:


3.6.4 Activity Diagram:
An activity flow diagram demonstrates how an activity leads to another. An
ongoing non-atomic execution within a state machine is referred to as an activity.
The end result of an activity is some kind of action, which is composed of
executable atomic computations that change the state of a system or return a
value. Vertices and arcs are found in an activity diagram. Activity diagrams
frequently include objects, transitions, and action and activity states.
An action state is an executable atomic computation that can be used to
create or destroy an object, call an operation on an object, or send an object a
signal.
An activity state is a composite that contains both activity states and
actions states in its flow of control. Additional components, such as entry and exit
actions, may be included in an activity state.
3.6.5 Class Diagram:
● The primary building block in object-oriented modeling is the class
diagram.
● They are used for both detailed modeling that converts the models into
programming code and for general conceptual modeling of the
systematics of the application.
● The primary objects and interactions in the application are represented by
the classes in a class diagram.
● The objects that make up a system are recognized and categorized using
class diagrams.
● It also contains the crucial characteristics of the objects that must be
photographed.

Class Diagram Notations:


Rectangles in a class diagram stand in for a class, and the lines that connect
them display the relationships between different classes.
3.6.6 Sequence Diagram:
A sequence diagram is a visual representation of a scenario that
demonstrates object interaction in a time-based sequence of what occurs first
and what follows. Sequence diagrams define object roles and help determine
class responsibilities and interfaces by supplying crucial information.
Sequence diagrams show time-based object interaction, whereas
collaboration diagrams show how objects are related to one another. These are
the two main differences between sequence and collaboration diagrams.

Object: State, behavior, and identity all apply to an object. The common class of
similar objects define their behavior and structure. Every object in a diagram
represents a particular instance of a class. The term "class instance" refers to an
unnamed object. The name of the object is underlined, unlike a class icon, which
looks similar. The concurrency of an object's class determines its concurrency.
Message: A message is information sent between two objects that causes an
event to occur. From the source focus of control to the destination focus of
control, information is sent via a message. A message's synchronization can be
altered by changing the message specification. When a message is
synchronized, the sending object waits for the response before continuing.
Link: Only when there is a connection between the corresponding classes of two
objects, including class utilities, should a link between them exist. In a
collaboration diagram, the connection between objects or objects and class
instances is shown as a straight line. Use the loop version of the icon if an object
links to another object itself.

CHAPTER 4
SYSTEM DESIGN
4.1 Basic Modules
A software component or section of software that comprises one or more
procedures is known as a module. A program consists of one or more separately
created modules. Several distinct modules may be present in an enterprise-level
software application, and each module supports distinct and independent business
operations.

User:

The user of this app is a student. In this approach, students must first register to take
the test. When they visit the login page again. Then, he or she checks the exam rules
and regulations. The test is given once the paper has been chosen.

Administrator:

The whole database for such software is maintained by the administrator. Admin must
first register before logging in. He has the right to add the students, teachers, and
heads. He periodically refreshes the database.

Teacher:

The questions can be seen, posted, and deleted by each subject instructor; moreover,
they lack permission to examine questions submitted by other teachers.

Head (Exam coordinator):

The questions that the teacher posts can be seen, updated, and modified by the exam
head. Head is able to publish and examine the results.

4.2 Data Design


The process of creating a thorough database data model is called database design. The
physical storage settings, logical design decisions, and physical requirements
necessary to produce a design in a data definition language, which may then be utilized
to establish a database, are all included in this data model. Each entity in a properly
attributed data model has certain attributes.
The phrase "database design" can be used to refer to a wide range of components that
make up a database system's overall design. It is best to think of it as the logical layout
of the fundamental data structures that are utilized to store the data. These are the
tables and views in the relational model.

The entities and relationships in an object database map exactly to object classes and
named relationships.
The process of creating not just the fundamental data structures but also the forms and
queries that make up the entire database application within the database management
system can be referred to as database design (DBMS).

4.2.1 Schema Design


The database is employed in order to manage information as a cohesive whole.
It is described as a group of connected data that is kept with little to no redundancy in
order to efficiently serve a large number of consumers. To determine how to create a
database, Data should be arranged according to user needs. The database's main goal
is to facilitate other users' convenient, rapid, affordable, and flexible access to
information. When designing a database, the following goals are taken into
consideration:

● Scalability
● Highly Functional
● Availability
● Store unstructured, semi-structured, or structured data
● Enable easy updates to schema and fields

Collection Name:-Admin
{
admin_Name: “Name”,
admin_Id:”ID”,
admin_Contact: Number,
admin_Email:”Email”,
admin_Password:”Password”

Collection Name:-Student
{
user_Name: “Name”,
user_Id:”ID”,
user_Contact: Number,
user_Email:”Email”,
user_Password:”Password”

Collection Name:-Faculty
{
faculty_Name: “Name”,
faculty_Id:”ID”,
faculty_Contact: Number,
faculty_Email:”Email”,
faculty_Password:”Password”,
faculty_Subject:”Subject Name”

}
Collection Name:-HOD
{
Hod_Name: “Name”,
Hod_Id:”ID”,
Hod_Contact: Number,
Hod_Email:”Email”,
Hod_Password:”Password”

}
Collection Name:-Exams
{
exam_Name: “Name”,
exam_Id:”ID”,
exam_Questions: {multiple_Questions:{choice_1:””
choice_2:” ” , choice_3:” ” , choice_4:” ”
},
subjective_Questions:{
choice_1:” ”
choice_2:” ” , choice_3:” ” , choice_4:” ”
}
exam_Marks:{}
}

4.2.2 Data Integrity and Constraints

key_Name data_type

id Integer

name String
email Regular expression

contact_number Integer

password String

questions Object

4.3 Procedural Design


An algorithm, workflow, or process is represented by a flowchart, a type of
diagram. The flowchart displays the stages as a series of boxes of varying sizes, with
arrows joining the boxes in the correct order. This illustrative graphic displays a
paradigm for a solution to a given difficulty.
Using flowcharts for analysis, design, documentation, or management of
numerous processes or programmes. Diagram Symbols Special shapes are used in
flowcharts to depict various sorts of operations or processes in a process. The order of
the stages and their interactions are depicted with lines and arrows.

Symbols for flowcharts:.


4.3.1 Logic Diagrams

4.3.2 Data Structures


Data organization, administration, and storage formats that allow for quick access and
change are referred to as data structures in the creation of online applications. an
informational data structure is a collection of data values, their connections, and the
actions or tasks that they can perform that might be used with the data.

Tree
A common abstract data type (ADT) or data structure used in the building of web
applications is the tree, which replicates a hierarchical tree structure with a root value
and sub-trees of children with a parent node, represented as a collection of connected
nodes. Recursively (locally), a tree data structure can be described as a set of nodes
(starting at a root node), where each node is a data structure made up of a value and a
list of references to other nodes (the "children"), subject to the restrictions that no
reference point to the root and that no reference point is duplicated.
4.3.3 Algorithms Design
4.4 User interface design

4.5 Security Issues


Integrity
The information exchanged cannot be changed or tampered with.

Authentication
Sender and recipient must mutually verify each other's identities.

Non-repudiation Proof
There must be evidence that the information exchanged was indeed received.

Attacks on a Denial of Service


Attacks known as denial of service (DOS) include overwhelming a server, a
network, or a website to prevent it from operating normally.

Privacy
With the increase in identity theft and impersonation, privacy has become a big
concern for consumers, and any concern for consumers must be handled as a
serious concern for e-commerce providers. We can see that consumers' privacy
is a top priority, and when their privacy is violated, they become quite upset,
which has a detrimental impact on trust in e-commerce as a whole.

Possible Types of Attacks on the E-learning platform


● Brute force attack
● Dictionary attack
● Hybrid attack
● SQL Injection
● XSS Injection
● Cross-Site Request Forgery
● CSRF)
● Session Hijacking
● Stack-smashing attacks

4.6 Test Cases Design

You might also like