Web Application For Examination - Exam Portal
Web Application For Examination - Exam Portal
(Exam Portal)
Major project report submitted in partial fulfillment of the requirement for
the degree of Bachelor of Technology
in
Certificate II
Acknowledgment III
Plagiarism Form IV
Abstract 1
References 39
Plagiarism Certificate 40
LIST OF FIGURES
I hereby declare that this project has been done by me under the supervision of Dr. Amol Vasudeva,
Affiliation, Jaypee University of Information Technology. I also declare that neither this project nor any
part of this project has been submitted elsewhere for the award of any degree or diploma.
Supervised by:
(Dr. Amol Vasudeva)
Assistant Professor
Department of Computer Science & Engineering and Information Technology
Jaypee University of Information Technology
Submitted by:
ADITYA SINGH (191360)
CHANDAN YADAV (191355)
This is to certify that the work which is being presented in the project report titled “Exam Portal” in
partial fulfillment of the requirements for the award of the degree of B.Tech in Computer Science And
Engineering and submitted to the Department of Computer Science And Engineering, Jaypee University
of Information Technology, Waknaghat is an authentic record of work carried out by “Aditya Singh,
191360, Chandan Kumar Yadav, 191355” during the period from January 2023 to May 2023 under the
supervision of Dr. Amol Vasudeva, Department of Computer Science and Engineering, Jaypee University
of Information Technology, Waknaghat.
Firstly, I express my heartiest thanks and gratefulness to almighty God for His divine blessing making us
possible to complete the project work successfully.
I am grateful and wish my profound indebtedness to Supervisor Dr. Amol Vasudeva, Assistant Professor,
Department of CSE Jaypee University of Information Technology, Wakhnaghat. Deep Knowledge & keen
interest of my supervisor in the field of “Website Development” to carry out this project. His endless
patience, scholarly guidance, continual encouragement, constant and energetic supervision, constructive
criticism, valuable advice, and reading many inferior drafts and correcting them at stage have made it
possible to complete this project.
I would like to express my heartiest gratitude to Dr. Amol Vasudeva, Department of CSE, for his kind
help to finish my project.
I would also generously welcome each one of those individuals who have helped me straightforwardly or
in a roundabout way in making this project a win. In this unique situation, I might want to thank the
various staff individuals, both educating and non-instructing, which have developed their convenient help
and facilitated my undertaking.
Finally, I must acknowledge with due respect the constant support and patients of my parents.
Online examination systems have become increasingly popular in recent years due to their
numerous benefits. These systems allow students to take tests from any location with internet
connectivity, eliminating the need for physical infrastructure such as classrooms and
examination halls. Students can also take tests at their convenience, allowing them to balance
their academic commitments with other responsibilities. The system's immediate feedback
feature enables students to identify their weak areas and work on them, leading to improved
academic performance. This feature also allows administrators to monitor students' progress
and identify areas where they may need additional support. and also cost-effective,
particularly for institutions that have to rent or maintain physical spaces for testing purposes.
This makes the system accessible to a wider range of students, including those from
low-income families or remote areas, promoting inclusivity and reducing the education gap
between students from different socioeconomic backgrounds. However, online examination
systems also have several challenges that administrators and students must overcome.
Cheating is a significant challenge, and the system must include features such as randomizing
questions, setting time limits, and restricting access to external materials during the test to
mitigate this challenge. Technical glitches such as server downtime, slow internet connection,
and software errors can also impact the student's test-taking experience and their
performance. Despite these challenges, online examination systems have a significant impact
on student learning and performance. With the continued advancement in technology, online
examination systems will continue to revolutionize the education sector, promoting
inclusivity and improving student learning and performance.
1
Chapter 01: Introduction
1.1 Introduction
A technology called an online test website enables students to take exams remotely from any
place with internet access. The student interface and the administrator interaction are the two
main parts of the system. While administrators can manage and edit tests and student profiles
via the administrator interface, students are able to sign in and take exams through the student
user interface.
Accessibility, flexibility, efficiency, and cost-effectiveness are just a few advantages that
online testing portals can provide. Tests can be taken anywhere, hence there is no longer a
need for physical infrastructure like classrooms and exam rooms. Additionally, this lowers
the system's cost, which is beneficial for institutions that must rent or maintain physical
spaces for testing.
Students can take exams at their convenience, provided they meet the deadline set by the
administrator, enabling them to balance their academic commitments with other
responsibilities such as work and family. The system's immediate feedback feature provides
students with instant feedback on their performance, allowing them to identify their weak
areas and work on them before taking subsequent exams, leading to improved academic
performance.
The system's efficiency makes it easy for administrators to manage and edit student profiles
and exams. The administrator can add or remove students from the system, create and edit
exams, and monitor students' progress, making it particularly useful for institutions with large
numbers of students.
However, online examination portals also have several challenges that administrators and
students must overcome. Cheating is a significant challenge, and the system must include
features such as randomizing questions, setting time limits, and restricting access to external
materials during the exam to mitigate this challenge.
Technical glitches such as server downtime, slow internet connection, and software errors can
significantly impact the student's exam-taking experience and their performance. To mitigate
2
this challenge, the system must have a robust technical infrastructure, including backup
servers, high-speed internet connectivity, and reliable software. In conclusion, online
examination portals have numerous benefits for both students and administrators. They
provide accessibility, flexibility, efficiency, and cost-effectiveness, making them an ideal
testing platform for modern-day learners. However, the system's challenges, such as cheating
and technical glitches, must be adequately addressed to ensure its success. With the continued
advancement in technology, online examination portals will continue to revolutionize the
education sector, promoting inclusivity and improving student learning and performance.
1.3 Objective
The objective of an online examination portal is to provide an efficient and cost-effective
platform for students to take exams remotely from any location with internet connectivity.
The system aims to offer flexibility, accessibility, and efficiency in scheduling and grading
exams while providing instant feedback to students. It also aims to address the challenges of
traditional testing methods such as cheating and technical glitches while providing a
3
user-friendly interface for administrators to manage and edit student profiles and exams. In
the current world, it becomes very important for anyone and everyone to be updated about
tech-related news and inventions. Being updated about tech is important for both students
and professionals. Students need to be informed about these things to make a place for
themselves in the industry while professionals need to learn about the latest trends to stay
relevant. This website will serve the mentioned purpose perfectly. Another objective of this
project is to implement the knowledge gained in the last three years. Practical knowledge is
best to know how much we have learned so far. We decided to make a website with all basic
features like login/register, CRUD operations, and use of front-end frameworks like Angular
js, and Bootstrap and backend frameworks like SpringBoot, and MySQL to test our
understanding and gain some experience in the field of development.
1.4 Motivation
The motivation behind creating an online examination portal is to revolutionize the
traditional exam system and address the challenges posed by it. The system aims to provide
an efficient, cost-effective, and accessible platform for students to take exams remotely from
any location with internet connectivity, particularly during the COVID-19 pandemic. The
system also aims to provide flexibility in scheduling exams, instant feedback to students, and
efficient grading for administrators. Additionally, the system aims to address the issue of
cheating, which can significantly impact student learning and performance, by implementing
features such as randomizing questions, setting time limits, and restricting access to external
materials during the exam. Overall, the motivation behind creating an online examination
portal is to promote inclusivity, improve student learning and performance, and make the
exam process more efficient and effective.
After putting all those aspects, we created proper documentation of our project describing
every step such as what we are using for the frontend and backend parts. Which tool we are
going to use for the same. How and where we are going to deploy our application. We mailed
our project details to our supervisor Amol Vashudeva sir, thankfully he approved our project,
and under his supervision, we started implementing it.
4
Scope:
The Following points are most valuable.
• Conduct Exam effortless. It reduces exam anxiety among test takers.
• Promote social interaction between the test taker and experts.
• Prevents cheating.
• Safe and secure data.
• Can get result instantly
HTML: It is one of the most basic building blocks of any website. It stands for “Hypertext
markup language”. It has various tags for different components like paragraph tags, bold
tags, italic tags, button tags, form tags, etc.
Bootstrap: is used for front-end templates and to make the web application responsive.
CSS: It stands for “cascading style sheet”. It is used to control all the design-related
functions such as color, font, alignment, margin, and padding.
5
a lot of popularity among developers due to its ability to catch errors before runtime and
make code more maintainable and scalable.
Back-end:
Spring Boot: A well-liked open-source framework called Spring Boot is used to create Java
web apps. It offers a wide range of features including out-of-the-box configurations,
embedded servers, and easy integration with other Spring frameworks. A well-liked
open-source framework called Spring Boot is used to create Java web apps. By eliminating
the need for boilerplate code and letting developers to concentrate on business logic, the
framework streamlines the development process. It is flexible and supports multiple database
technologies, making it a versatile choice for a variety of use cases. Additionally, Spring
Boot has a large and active community, providing extensive documentation and support to
developers. Overall, Spring Boot is a powerful and efficient tool for developing scalable and
robust web applications.
MySQL: MySQL is a popular open-source relational database management system used for
storing and retrieving data. It uses Structured Query Language (SQL) to manage data and can
handle large amounts of data efficiently. There are several libraries available for MySQL in
different programming languages such as Java, Python, and PHP, allowing developers to
easily connect to and interact with MySQL databases in their applications. These libraries
provide a wide range of features, such as connecting to databases, executing queries, and
managing transactions.
Hardware
Operating system Windows 8 or later macOS Sierra 10.12 or later 64-bit Ubuntu 14.04+,
Debian 8+, openSUSE 13.3+, or Fedora Linux 24+ Processor Intel Pentium 4 or later Intel
6
Intel Pentium 4 or later
Software
Spring: Spring is a popular framework for building web applications in Java. It provides a
range of features, such as dependency injection, web MVC, and security.
Vaadin: Vaadin is a web application framework that allows developers to build web
applications using Java and HTML. It provides a set of UI components and a server-side API
for building the user interface.
Apache Wicket: Apache Wicket is a web application framework that allows developers to
build web applications using Java and HTML. It follows a component-based approach and
provides a range of features for building the user interface.
Ultimately, the choice of tool or framework will depend on your specific needs and
preferences. It's important to consider factors such as ease of use, performance, scalability,
and community support when choosing a tool or framework for your Java web application.
7
1.6 Methodology
Developing an online examination portal requires a systematic approach to ensure that the
system is efficient, reliable, and user-friendly. Here is a general methodology that you can
follow. Identify the purpose of the portal, target audience, exam types, and technical
requirements of the system. Develop a plan: Create a plan that outlines the features,
functionality, and design of the portal. This should include an exam creation and management
process, authentication process, security measures, and reporting. Select an appropriate
platform that suits your needs and budget. There are various platforms available in the
market, such as Moodle, Blackboard, and Canvas. Create and manage exam content in a
structured format, including the number of questions, types of questions, and question
difficulty level. Ensure that the exam content is relevant and valid. Conduct a pilot test with a
small group of users to ensure that the portal functions as expected. This should include
testings the exam creation and management process, authentication, and security features.
Provide training and support to users on how to use the portal. This can include tutorials,
webinars, and online documentation. Once the portal is tested and refined, implement it and
ensure that it is working as expected. This includes monitoring the system, updating the exam
content, and resolving technical issues. Continuously improve the portal by gathering
feedback from users and analyzing data. Use this information to refine and update the portal,
keeping it up-to-date with the latest technology and best practices. By following this
methodology, we can develop an online examination portal that is user-friendly, secure, and
effective in achieving its goal.
8
System flowchart
A system flowchart is a useful presenting tool since it illustrates how the main parts of my
system work together and communicate. It acts as a kind of system road map.
9
1.7 Deliverables/Outcomes
1. Accessibility: An online examination portal provides students with access to exams from
any location with internet connectivity, eliminating the need for physical infrastructure such
as classrooms and examination halls. This increases accessibility, particularly for students in
remote areas, those with disabilities, or those with other commitments.
3. Efficiency: An online examination portal makes it easy for administrators to manage and
edit student profiles and exams, particularly for institutions with large numbers of students.
The system also provides efficient grading and instant feedback to students, reducing the time
and resources required for grading and feedback.
5. Cheating Prevention: An online examination portal addresses the issue of cheating, which
can significantly impact student learning and performance, by implementing features such as
randomizing questions, setting time limits, and restricting access to external materials during
the exam.
10
Chapter 02:Literature Survey
The right design is now a crucial component required to engage visitors of websites and
mobile applications. To specify the precise components employed in the design of successful
websites and mobile applications, however, little study has been done. We make an effort to
summarise the research on effective design and provide a concise list of components that are
regularly employed in studies. The design components that were discussed the most
frequently in the works under examination were readability, navigation, graphical
representation, organization, content utility, and purpose. We go over how earlier research has
characterized and rated these seven components. In order to operationalize best practices for
encouraging and forecasting user involvement, designers and researchers may find this
review and the accompanying concise list of design features useful. In the last ten years,
internet usage has grown significantly and quickly ("Internet Use Over Time," 2014). For
most, if not all, businesses and organizations, websites have emerged as the most significant
platform for public communication. According to the 2013 study "Internet User
Demographics," 87% of American individuals 18 and older used the Internet in 2014.
Website design is essential for attracting customers because most business-to-consumer
transactions take place online (Flavián, Guinalu, & Gurrea, 2006; Lee & Kozar, 2012; Petre,
Minocha, & Roberts, 2006). Poorly designed websites may annoy visitors and cause a high
"bounce rate," or the percentage of visitors who only view the home page before leaving the
site (Google.com, 2015). Avouris, Tselios, Fidas, and Papachristos (2014); Flavián et al.
(2016); Lee & Kozar 2020) have discovered that a well-designed website with excellent
usability has a beneficial impact on visitor retention (revisit rates) and purchasing behavior.
To define the precise components of efficient web design, however, little study has been
done. Usability is one of the most important design criteria (International Standardisation
Organisation, 1998).By identifying and compiling the essential website design components
that, according to previous studies, influence user engagement, this review aimed to provide
an answer to that topic. The goal of this analysis was to identify the website design
components that are most frequently suggested or displayed to boost user engagement. The
best way to operationalize and evaluate the usability of websites, however, is still up for
11
debate (Lee & Kozar, 2012). For instance, Nielson (2012) links usability to learnability,
effectiveness, memorability, mistakes, and satisfaction. Palmer (2002) asserts, however, that
factors such as download time, navigation, content, interactivity, and responsiveness affect
usability. Similar to usability, a lot of other important design factors, like scalability,
readability, and visual appeal, are still poorly understood (Bevan, 1997; Brady & Phillips,
2003; Kim, Lee, Han, & Lee, 2002). Clearly defined rules that people can adhere to when
designing websites to boost engagement. Therefore, the work is exploratory research that
offers definitions for these website design components as well as a place to start for future
research to refer to.
This chapter includes details about my application architecture patterns. Here I am using
three-tier architecture for developing full-stack applications.
Three-tier architecture, which separates applications into three logical and physical
computing tiers, is the predominant software architecture for traditional client-server
applications. Three-tier architecture is a well-established software application architecture
that organizes applications into three logical and physical computing tiers: the presentation
tier, or user interface; the application tier, where data is processed; and the data tier, where the
data associated with the application is stored and managed.
The three-tier is -
1. Presentation tier – it is the user interface and communication layer of the application 2.
Application tier – it is known as the logic tier or middle tier and is the heart of the
application.
3. Data tier - sometimes called database tier, data access tier, or back-end of the application.
12
Figure 2.1: Three-Tier Architecture
13
Related Articles and their key Points
Many different researches have focused on the subject of an online examination system.
SIETTE: Guzman and Conejo (2005) proposed an online examination system called System
of Intelligent Evaluation using Tests for Tele-education (SIETTE). SIETTE is a web-based
environment to generate and construct adaptive tests. It can be used for instructional
objectives via combining adaptive student self-assessment test questions with hints and
feedback. SIETTE supports secure login and portability features. On the other hand, the other
features: resumption capability, multi-instructor, random question selection, random
questions distribution and random choices distribution is missing.
EMS: Rashad Et. Al. (2010) proposed a web-based online examination system called Exam
Management System (EMS). EMS manages the examination and auto-grading for student’s
exams and supports conducting exams, collects the answers, auto mark the submissions, and
produce the reports for the test. EMS supports secure login, multi-instructor, and portability
features. However, the other features: resumption capability, random question selection,
random questions distribution, and random choices distribution is missing Arvind Singh,
Niraj Shirke, Kiran Shette 2011: The project evaluates the examiners by using the online
examination system concept. The exams will be totally customizable. This system will check
results automatically based on student’s answers.
CBTS: Fagbola et. al. (2013) developed a Computer Based Test System (CBTS). CBTS is a
web-based online examination system developed to address issues such as lack of timing
lexibility for automation candidates log-off upon expiration of allowed time, result integrity,
guaranty, stand-alone deployment, need for flexibility, robustness, designed to support the
examination processes and overcome challenges framing the conduct of examination, auto-
marking, auto- submission, and generation report of examination result.
14
Chapter 03: System Development
All algorithms were written in Java 8 as .java files.Java was chosen because it is a powerful
compiler. Java supports both Oops execution and debugging at the same time. Furthermore,
Java is platform independent, unlike other languages like C++, C which compile onto the
platform but Java is write-once, run-anywhere language. Java differs from other platforms it
is software based on other platforms based software, and it has two components. Java
..programming is platform-independent. Linux, Mac OS, Sun Solaris, Windows, etc. A
compiler compiles Java code and turns it into bytecode. This bytecode can run on various
platforms, making it platform-independent code. Run anywhere and write once.
Many people are unaware of the latest technologies and trends in this field. In today’s world,
it becomes very important for everyone to learn or at least know about the latest technology
and inventions. The main reason why we should learn modern technology is that it's our
reality. One can state that technologies aren't influential nowadays, but I can't agree with such
statements. I believe that the technological revolution brought us a lot in these years. In my
opinion, such people who claim that they don't want to get along with technology just don't
know how to do it. I guess that people should stand for technologies today because the future
depends on them. Everything is based on technology today and it's kind of difficult not to
notice it. The technologies in the future will be much more influential and this influence will
only grow. India is developing, and a key factor in this development is the country's rural
population. Rural India is expanding more than three times as quickly as urban India, which
means that access to the Internet and the overall digital ecosystem will likely need to shift
significantly. In rural areas, everybody is somehow connected with the technologies and able
to access the websites in their day-to-day life. Also, all offline work is gradually shifting to
online, either the work related to the government or private sectors.
15
3.1.2 Problem Analysis
There are very few websites that cover technological advancements taking place. That’s why
fewer people are informed about these things. The world is becoming more competent and
it’s crucial to stay aligned with the ongoing progress. Also, the workforce demand is
increasing in the technology field.
A web-based platform called an online examination portal enables students to take tests
remotely from any location in the world. However, developing such a platform can be
challenging, and there are several potential problems that need to be analyzed before creating
such a portal. Some of the major problems that need to be addressed in the development of an
online examination portal include.
Technical issues: One of the main challenges in developing an online examination portal is
ensuring that the platform is technically sound and reliable. Issues such as slow loading
times, system crashes, and security breaches can negatively impact the user experience and
the integrity of the exam results.
Cheating: Online exams can be susceptible to cheating, as students can easily access external
resources during the exam. Preventing cheating through secure authentication mechanisms,
and proctor.
16
and present, are interested in our knowledge of the sector and current technological
advancements.
Here are some potential solutions to the problems mentioned in the analysis for an online
examination portal:
Technical issues: To address technical issues, the online examination portal should be
thoroughly tested before deployment to ensure that it is reliable and scalable. This includes
load testing, stress testing, and security testing to identify and fix any potential issues.
Additionally, the portal should be hosted on a reliable and secure server that can handle high
traffic volumes and is regularly monitored for any issues.
Cheating: There are several ways to prevent cheating on an online examination portal. One
of the most effective methods is to use remote proctoring, which involves using a webcam to
monitor students during the exam. The proctor can watch for any suspicious behavior, and
any irregularities can be flagged for further review. Additionally, the portal can implement
anti-cheating measures such as randomized questions, time limits, and disabling copy-pasting
during the exam.
3.2 Requirements
Login
Users can use the login forms because logging in is necessary for any actions that can be
taken with the application. In this case, the user is prompted to sign in or create an account on
the online app. once the user has given the application permission to access his social media.
He is given a fresh account if he has never used the software before.
Sign-Up
Users and organizations can independently register and gain access to your system via a
signup page, also known as a registration page. Different signup pages are frequently used
depending on the people and organizations you want to register. The website now includes a
17
sign-up tool to allow users' information to be saved. In this web application, we take users'
information depending on the role of the user, and then according to the user's role, different
web pages are accessible by the user role-based. If a user selects a role as ‘student’, then they
have to log in there and take the assessment and also check their result.
All users' profile information can be modified by the admin. The profile information contains
the name, phone number, email, profile photo, and role of the user. The admin can easily edit
this information in order to be contacted and recognized.
User has the option to contact the admin through different social media like WhatsApp,
Facebook, etc., on the Contact Us page there is an option to contact us directly through
WhatsApp messages.
Our passwords could be compromised if someone loses their computer or switches PCs. By
often changing our passwords, we ensure that your data remains private even if someone
finds an old or remembered password.
Only the admin has access to the delete API of the events. When an admin feels that the
events added are inappropriate then he has an option on the admin dashboard to delete the
events.
Showing all the event details When a user visits the website, they can access the test section
by login and seeing the quizzes and results.
18
Use case diagram:
Use case diagrams are the common modeling language. A use case is a collection of
examples that illustrates how a user and a system interact. The connection between actors and
application cases is easily seen in an application diagram. Use cases and actors are the two
fundamental elements of a use case diagram. Teachers and learners are the participants in our
system.
19
3.2.2 Non-Functional Requirements
Performance
When a user delivers a request, the program must respond very quickly. In other words, the
server must have the ability to respond immediately. 1000 people should be able to send
inquiries simultaneously using the program.
Scalability
A significant increase in users should cause the program to react appropriately. It ought to be
able to manage between 10,000 and 100,000 users.
Extensibility
In order to support several platforms like iOS, Windows Phone, and the Web, the program
needs to be extendable.
Availability
The program must be extremely available and ensure a strong server uptime because it
contains a lot of information about the pupils. The server should only permit 1 hour of
downtime annually, or 99.99% uptime.
The program should guarantee the confidentiality of all user information, including data and
accounts. Only people who have been given permission to post and update their own content
should be able to log in. Maintainability
It should be simple to maintain since the program may grow in the future by adding new
features.
20
Chapter 04: Implementation
Angular
Spring Boot: Spring Boot is a popular Java-based framework designed to simplify and
accelerate the development of Spring applications. It offers a streamlined configuration
process and includes many commonly used libraries, reducing the amount of boilerplate code
required to get a project up and running. Spring Boot also includes features such as
auto-configuration, which automatically configures the application based on its dependencies,
and embedded servers, which allow for easy deployment of the application. These features
make Spring Boot a popular choice for developing modern, scalable, and easily deployable
web applications.
● Embedded servers: Spring Boot includes embedded servers like Tomcat, Jetty, and
Undertow that allow the application to be run as a standalone executable.
● Spring CLI: Spring Boot provides a command-line interface that allows developers to
quickly create and run Spring applications.
● Actuator: Spring Boot Actuator provides a set of endpoints that can be used to monitor and
manage the application at runtime.
● Dependency management: Spring Boot manages dependencies for the application, making
it easier to manage and upgrade dependencies.
● Spring Data JPA: Spring Boot provides support for Spring Data JPA, which simplifies the
development of data access layers in the application.
21
watch for any changes to your application files. When any changes are made, the application
will automatically recompile and refresh in the browser. This allows developers to see the
changes they make in real-time, without having to stop and restart the server manually.
The ng serve command also provides additional options, such as specifying the port number
to use, enabling hot module reloading, and setting up a proxy configuration for API requests.
These options can be passed as command-line arguments to the ng serve command.
MVC is one of the most frequently used industry-standard web development frameworks
Model :The Model component corresponds to all the data-related logic that the user works
with. This can represent either the data that is being transferred between the View and
Controller components or any other business logic-related data. For example, a customer
object will retrieve the customer information from the database, manipulate it and update it
data back to the database or use it to render data.
View :The View component is used for all the UI logic of the application. For example,the
22
Customer view will include all the UI components such as text boxes, dropdowns, etc. that
the final user interacts with.
Controllers: Controllers act as an interface between Model and View components to pro-
cess all the business logic and incoming requests, manipulate data using the Model com-
ponent and interact with the Views to render the final output. For example, the Customer
controller will handle all the interactions and inputs from Customer View and update the
database using the Customer Model. The same controller will be used to view the Customer
data.
Angular Material: Button, form, card, and dialogue UI components are all pre-built and
adaptable with the help of the Angular Material UI component library. It follows Google's
Material Design guidelines and offers a consistent, modern look and feel for web
applications. Angular Material also includes powerful features such as theming, accessibility,
and internationalization support. It is built on top of the Angular framework and is designed
to work seamlessly with it, providing a cohesive development experience. With Angular
Material, developers can create responsive and mobile-friendly web applications quickly and
easily, reducing the time and effort required to build a modern UI.
23
Pom.XML File
● The Pom.XML file contains all the related dependencies which are used in the
project.
● The most important part of this file is that it automatically downloads and configures
all the jars and the suitable versions which are used to deploy or to connect the project. Just
you need to add all the dependencies and plugins in the Pom.XML file.
Spring-boot-starter-data-jpa:
Spring Boot Starter Data JPA is a popular starter package that enables developers to quickly
set up and use the Java Persistence API (JPA) with the Spring framework. JPA is a
specification that defines a standard way to map Java objects to relational databases, and
Spring Boot provides a simplified and consistent way to configure JPA in your application.
The starter package includes all the necessary dependencies, configuration, and
auto-configuration to get started with JPA quickly and easily. With Spring Boot Starter Data
JPA, developers can use annotations to define entities and relationships between them,
perform CRUD operations, and write queries without writing SQL. The package also
provides features like pagination, sorting, and caching to enhance performance. Spring Boot
Starter Data JPA integrates seamlessly with other Spring Boot starters and is widely used in
building modern web applications and microservices.
All the database-related operations such as connecting projects with databases or defining
Local port numbers when we are building our project and storing the data in the database.
All the above figure shows the user role and the relation of the user, default and
parameterized constructor getter and setter methods that anyone can’t access or manipulate
the data directly, and the access authority of the data of the different fields.
24
REST API for Exam Porta :
REST (Representational State Transfer) API is a type of web service that uses HTTP
protocol to exchange data between client and server. RESTful APIs are designed to be
scalable, stateless, and cacheable, and they typically use standard HTTP methods like GET,
POST, PUT, and DELETE to interact with resources. REST APIs can be used to build
complex applications by providing a flexible and standardized way of accessing data across
multiple platforms and devices. They have become a popular choice for building modern
web applications and services.
● To upload the user-related data such as username, password, First Name, Last Name, email,
and phone number and it also defines the role of the user he/she is ADMIN or NORMAL
user.
● This first API is used to access the data of a person with the username and the other one for
the same but it will return the details with the user.
● It is auto-wiring the other class by creating the child of that class so that it can be used in
this particular class according to the need.
Token : A token generator in an API is a tool that generates a unique access token for a client
or user to authenticate and authorize access to the API's resources. The access token typically
contains a randomly generated string of characters that represents the client's identity and
access privileges. The token generator issues the token upon successful authentication and
validates the token during subsequent requests to ensure the user has the necessary
permissions to access the requested resource. Token-based authentication is commonly used
in modern API architectures and can enhance security by eliminating the need to transmit
sensitive information like passwords over the network.
It will generate the token whenever any user will log in to the system and it will save it in the
database.
● If the password and username are not right then it will return the message invalid credentials.
25
● The above API will reflect the details of the current user who has accessed the portal.
● Throughout the one login period it will be there on logout it will automatically delete from the
database.
● If the both username and password are not correct it will return the message user not found
It will help to show the profile of the user and he or she can update or change the details.
● This will generate and validate the token of the login user.
● If the token has login and the request portal is not null then it will return the string from the
7th index.
● If the token is invalid or expired it will reflect the message accordingly or if it is not started
with Bearer it will also reflect the message.
Frontend:
Home Page:
● This is the home page of the web application. The user will be redirected to this
page after login.
26
Register Page:
● It will pop up a bar and it will show the message and the unique user id generated.
27
Login Page:
28
● If the username or password is not given then it will reflect the message that Please
provide a username and the password is required.
Admin Dashboard:
● After login as Admin you will be reflected to this page where what a user can do it
will be shown there.
● Users can conduct quizzes by adding different quizzes and categories.
Profile:
29
● It is showing the profile details where the user can see their own registered name and
email or mobile no.
All categories:
● This is showing all the categories which are present and the admin can add more new
categories.
30
Quizzes:
31
Adding quizzes:
Adding Questions:
● Here User will send the solution to the problem statement and add the question.
32
User Side Pages:
Available Quizzes:
● These are the available quizzes normal users or students can see and attempt.
Instructions Page:
33
Figure 4.16: Attempt Quiz
34
Timer in quizzes:
● At the right it is showing a timer section. It will keep running throughout the quiz so that
users should be aware of the time-bound.
Marks:
● Users can see the marks just after attempting the quiz.
35
Chapter 05: Conclusion
36
used to create and administer tests, evaluate candidates, and provide feedback.
If any problem is resolved by any user then they can give your feedback on the portal in the
suggestion and feedback section.
So that our Team quickly solves these problems and also brings notice to these problems in
front of the teacher(admin).
Future Work
Mobile compatibility: Develop a mobile app or optimize the existing portal for mobile
devices to increase accessibility and convenience for users who prefer to take exams on their
smartphones or tablets.
● Advanced analytics: Implement advanced analytics tools such as machine learning
algorithms and predictive models to analyze exam results and provide insights that can
improve the effectiveness of the online examination portal.
● Collaborative exams: Allow students to take collaborative exams in which they can work
together in real-time to solve problems and answer questions. This can promote teamwork
and enhance the learning experience.
● Integration with learning management systems: Integrate the online examination portal
with learning management systems (LMS) such as Moodle, Blackboard, or Canvas to
streamline the exam creation, delivery, and reporting process.
●Accessibility features: Ensure that the online examination portal meets accessibility
standards such as WCAG 2.0 to accommodate users with disabilities such as visual
impairments or motor disabilities.
Overall, incorporating mobile compatibility, advanced analytics, collaborative exams,
integration with LMS, gamification, accessibility features, and blockchain technology can
help to improve the functionality and effectiveness of an online examination portal.
37
References
[1] SWeaver, D., et al. (2005). Evaluation: WebCT and the student experience.
Evaluations and Assessment Conference.
[2] Tate, L. (2002). "Using the interactive whiteboard to increase student retention,
attention, participation, interest, and success in a required general education college
course." Retrieved January 30: 2007.
[3] Tallent-Runnels, M. K., et al. (2006). "Teaching courses online: A review of the
research." Review of educational research 76(1): 93-135.
[4] Downing, D., et al. (2000). Dictionary of computer and Internet terms, Barron's
Educational series.
[5] Ainscough, T. L. (1996). "The Internet for the rest of us: marketing on the World
Wide Web." Journal of consumer marketing 13(2): 36-47.
[6] Leavitt, Neal. "Will MySQL databases live up to their promise?." Computer 43.2 (2010):
12-14.
[7] Turner, Alasdair. "Angular analysis." Proceedings of the 3rd international symposium on
space syntax. Vol. 30. Atlanta, GA: Georgia Institute of Technology, 2001.
[8] Cooper, J., and Richard N. Zare. "Angular distribution of photoelectrons." The Journal of
chemical physics 48.2 (1968): 942-943.
[9] Cooper, J., and Richard N. Zare. "Angular distribution of photoelectrons." The Journal of
chemical physics 48.2 (1968): 942-943.
[10] Mardan, Azat. Express. js Guide: The Comprehensive Book on Express. js. Azat
Mardan, 2014.
[11] Hesterberg, Tim. "Bootstrap." Wiley Interdisciplinary Reviews: Computational Statistics
3.6 (2011): 497-526.
[12] K. S. Prasad Reddy, Beginning Spring Boot, “Working with JPA: BSpring Data JPA,
pp. 84-97, 2015.
38
Final Project Aditya Singh
ORIGINALITY REPORT
15 %
SIMILARITY INDEX
5%
INTERNET SOURCES
1%
PUBLICATIONS
14%
STUDENT PAPERS
PRIMARY SOURCES
1
Submitted to University of Greenwich
Student Paper 2%
2
Submitted to University of Dundee
Student Paper 2%
3
Submitted to London Metropolitan University
Student Paper 1%
4
support.google.com
Internet Source 1%
5
Submitted to Istanbul Aydin University
Student Paper 1%
6
Submitted to Indian Institute of Information
Technology, Design and Manufacturing -
1%
Kancheepuram
Student Paper
7
Submitted to Caleb University
Student Paper 1%
8
Submitted to Southern New Hampshire
University - Continuing Education
1%
Student Paper