cc
cc
SpringBoot
A Project Report
Submitted by :
Of
BACHELOR OF TECHNOLOGY
IN
(December 2024)
Page 1 of 33
CERTIFICATE
This is to certify that the project report titled “Online Quiz Application Using
Springboot” being submitted by Nikita Mohapatra - Sec P to the Institute of
Technical Education and Research, Siksha ‘O’ Anusandhan (Deemed to be)
University, Bhubaneswar for the partial fulfillment for the degree of Bachelor of
Technology in Computer Science and Engineering is a record of original confide work
carried out by them under my/our supervision and guidance. The project work, in
my/our opinion, has reached the requisite standard fulfilling the requirements for the
degree of Bachelor of Technology.
The results contained in this project work have not been submitted in part or full to any
other University or Institute for the award of any degree or diploma.
Supervisor :
Prof. Swagatika Devi
Page 2 of 33
ACKNOWLEDGEMENT
Before delving into the details of this project, I would like to express my heartfelt
gratitude to the people who have played an instrumental role in bringing out the creative
essence of this work. First and foremost, I would like to extend my sincere thanks to
my respected guide, Prof. Swagatika Devi from the Institute of Technical Education
and Research, for her unwavering guidance, constant support, and motivation. Her
invaluable insights and encouragement have been a cornerstone of this project. I am
deeply grateful to my parents for their unconditional love and steadfast support
throughout my life. Their belief in me has been a source of immense strength and
inspiration. I would also like to thank my friends and well-wishers for their
wholehearted support and encouragement during this journey. This endeavor has not
only been a rewarding experience but has also prepared me to embrace new challenges
and opportunities in the future. The completion of this project would not have been
possible without the guidance and support of these learned individuals, for which I am
profoundly thankful.
Date :
Page 3 of 33
DECLARATION
I, the undersigned Nikita Mohapatra, a student of B.Tech., hereby declare that the
project work presented in this report, entitled “Online Quiz Application Using Spring
Boot”, is my own work and has been carried out under the supervision of Prof. Amul
Chourasia of the Institute of Technical Education and Research.
This project was undertaken as a part of the major project as per the curriculum of
Siksha O’ Anusandhan University, for the partial fulfillment of the requirements for the
B.Tech. degree at the Institute of Technical Education and Research. This work has not
been previously submitted to any other university for any other purpose.
Page 4 of 33
REPORT APPROVAL
This project report titled “Online Quiz Application Using Springboot “ submitted by
Nikita Mohapatra is approved for the degree of Bachelor of Technology in Computer
Science and Engineering.
Examiner(s)
________________________________
____________________________
_________________________________
Supervisor
____________________________
Project Coordinator
____________________________
Page 5 of 33
PREFACE
This project provides an intuitive and interactive platform that enables users to
participate in quizzes seamlessly. The application is designed to cater to both
administrators, who can create and manage quizzes, and participants, who can register,
log in, and attempt quizzes. Leveraging the power of Java, MySQL, and modern web
technologies, the system ensures scalability, reliability, and user-friendly operations.
Our motivation behind this project is to enhance the accessibility and efficiency of
educational tools. By incorporating robust technologies like Spring Boot for backend
processing, React Js for a dynamic user interface, and MySQL for secure data storage,
we strive to deliver a secure, responsive, and engaging quiz application.
This preface highlights our commitment to building a feature-rich platform that can
contribute meaningfully to education, training, and self-assessment in diverse domains.
Page 6 of 33
INDIVIDUAL CONTRIBUTIONS
Kumari Twinkle Sahoo Handled the Documentation and ensured the seamless
flow of the project along with testing and debugging
Page 7 of 33
TABLE OF CONTENTS
Title Page 1
Certificate 2
Acknowledgement 3
Declaration 4
Report Approval 5
Preface 6
Individual Contributors 7
Table of Contents 8
List of Figures 9
1. INTRODUCTION 10-14
1.1 Project Overview/Specifications 10
1.2 Motivation(s) 11
1.3 Uniqueness of the Work (if any) 12-14
Page 8 of 33
LIST OF FIGURES
1 Login page 24
2 User Responses 25
3 Quiz Generator 25
4 Admin Login 26
5 Show Questions 26
6 Quiz Attempt 26
7 Score 27
8 API Testing 27
Page 9 of 33
1. INTRODUCTION
Page 10 of 33
1.2 Motivations
Presently, most of the institutions are following pen & paper-based approach of
conducting quizes. Although it has several benefits but in total it’s not very efficient
system. The offline quiz system has numerous downsides, for example, trouble in
investigating the quiz physically, more invigilators are needed to take a test of numerous
understudies. Quiz results are not precise since figuring's are executed physically, the
possibility of losing test's results is excessive in present frameworks, result checking is
time-consuming as it was physically done, at one time counted number of students can
appear for the quiz. The advancement in data technology and using it systematically
and appropriately will overcome the current mistake in the manual framework. This
system is required to prepare registration\application form, question paper for the
students and required to print a lot of number manually. To calculate how many students
registered, and verification of details of these students in a month by hand is very
difficult. This requires quite a lot of time and wastage of money as it requires quite lot
of manpower to do that. Another factor that takes into account that is the possibility of
errors. Some of the few mentioned key points which are downsides of existing pen &
paper manual quiz system:
• Calculation of Marks.
• Human error.
Page 11 of 33
• Limitation of no of student can give quiz at a time.
Proposed System
The backend of the system is developed using Spring Boot, a framework known for its
simplicity and robust features. It enables efficient management of business logic and
ensures the application is highly scalable and secure. The frontend is implemented using
React, a popular JavaScript library that provides a responsive and intuitive user
interface. For data storage and retrieval, the system utilizes MySQL, a reliable
relational database management system, ensuring data integrity and smooth
performance.
The Online Quiz Application stands out by combining a dynamic, customizable quiz
creation process with real-time performance analysis, making it an efficient and
engaging platform for both educators and students. Its use of cutting-edge technologies
like Spring Boot and React ensures scalability, responsiveness, and a seamless user
experience.
Usability:
1. The system provides an intuitive and responsive user interface, making it easy
for users
Page 12 of 33
2. Features like instant feedback, progress tracking, and mobile responsiveness
enhance
Integrity:
Reliability:
Performance:
These qualities make the Quiz Portal unique by providing an easy-to-use, reliable, and
high-performance platform with data accuracy at its core.
Page 13 of 33
2. LITERATURE SURVEY
Existing online quiz platforms like Kahoot, Quizizz, and Google Forms provide
interactive and customizable quiz features but often lack integration capabilities,
advanced reporting, or scalability for specific institutional needs. These platforms may
also involve subscription costs, limiting accessibility for smaller organizations.
1. Security :
1. Existing platforms often rely on basic authentication mechanisms, leaving
room for vulnerabilities like unauthorized access or data breaches.
2. Some platforms lack robust data encryption, which could expose sensitive
user and quiz data during transmission or storage.
2. Scalability :
3. User Experience:
1. While these platforms offer interactive designs, they may not always provide
seamless navigation or consistent performance across devices.
Technology Advancements:
Page 14 of 33
2. ReactJS for Enhanced Frontend Performance: ReactJS enhances frontend
performance and user experience with dynamic content rendering. This results in
smoother and more responsive interfaces, which can handle real-time updates and
interactions efficiently.
2. Limited Flexibility
• Ensuring quiz integrity during online quizzes is challenging due to risks like
unauthorized access, impersonation, or cheating. Existing systems lack robust
authentication methods and monitoring mechanisms.
4. Scalability Challenges
• Many systems do not provide instant feedback or results after the quiz. This
limits students' ability to identify their mistakes and educators' ability to review
performances quickly.
Page 15 of 33
• Some platforms have unintuitive interfaces, making it difficult for users
(both students and administrators) to navigate the system effectively. This hinders
user adoption and satisfaction.
Page 16 of 33
3. MATERIALS AND METHODS
3.1 Description
The project "Quiz Portal" is a comprehensive system aimed at revolutionizing the way
online quizzes are conducted and managed. Designed to cater to the needs of
educational institutions and organizations, the portal offers a robust and user-friendly
interface that simplifies the quiz process for both administrators and students. By
leveraging Spring Boot for backend services and ReactJS for frontend development,
the portal ensures seamless integration and exceptional performance.
Administrators are empowered with tools to create and manage quizzes, add and update
questions, and evaluate student performance effectively. The system also allows them
to monitor quiz activity in real-time and generate detailed reports for analysis. On the
other hand, students can conveniently register on the platform, access available quizs,
complete them within the stipulated timeframes, and review their results securely. The
application prioritizes security through features like token-based authentication (JWT)
to protect user data and quiz integrity.
With a modular architecture and intuitive design, the Quiz Portal stands out as a scalable
solution that can adapt to various requirements. It provides a streamlined approach to
handling quizzes, reducing administrative workload while enhancing the overall user
experience. This project demonstrates the potential of combining modern web
technologies like Spring Boot and ReactJS to deliver a reliable and efficient quiz
system.
Page 17 of 33
3.2 Schematic layout
Flow Chart –
Page 18 of 33
Database Schema –
Page 19 of 33
3.3 Methods used
MVC Architecture:
Responsive Design:
The user interface is built with ReactJS components, which are designed to be
responsive. The application adapts seamlessly across various devices, offering an
optimal user experience on desktops, tablets, and mobile devices.
➢ Development Tools:
➢ Database:
➢ Testing:
Page 20 of 33
- Build Tools:
- Maven for dependency management and builds.
Login :
o The user can login as admin or as a user with their
respective credentials
Admin Functionality:
o Quiz Management: Administrators have the ability to create,
update, and delete quizzes using the admin dashboard. The interface
simplifies the process, making it accessible even for non-technical
users.
o Question Management: Admins can add, modify, or remove
questions linked to specific quizzes. Each question is stored in the
database along with metadata such as marks and difficulty level.
o Performance Monitoring: Administrators can track and analyze
the performance of students, providing insights into overall quiz
outcomes and individual results.
Student Functionality:
o Quiz Access: Students can view a list of available quizzes,
categorized by subject, difficulty, or availability status
o Taking Quizzes: Students participate in quizzes within predefined
timeframes. The ReactJS interface ensures a smooth and interactive
experience while validating inputs and enforcing time constraints.
o Results and Feedback: Once the quiz is completed, students can
access their scores and view detailed feedback to understand their
strengths and areas for improvement.
Page 21 of 33
Database Management:
o The Spring Boot application serves as the backend, facilitating
seamless communication with the MySQL database for all persistent
data operations.
o Data Storage: User information, quiz details, questions, responses, and
results are securely stored and managed in the database.
o Data Integrity: Robust mechanisms are implemented to ensure the
integrity of the data, preventing duplication or inconsistencies.
This structured approach, combining the power of Spring Boot, ReactJS, and MySQL,
ensures a reliable, scalable, and user-centric platform for managing online quizs
effectively.
Page 22 of 33
4. RESULTS AND OUTPUT
Frontend:
Backend:
Database:
Hosting Environment:
Login page
Page 24 of 33
For admin –
Page 25 of 33
Fig 4: Generate Quiz
Page 26 of 33
Fig 7: Score
API Testing
Success rate:
o Quiz Creation and Management: The quiz creation and management
features are highly reliable, with a 95% error-free rate. Admins can
create, edit, and delete quizzes, and manage questions with minimal
errors. Some rare issues in handling complex question formats are under
review for further improvement.
o Student Performance Tracking: The system accurately tracks student
performance, with 100% reliability in generating and displaying results.
Page 27 of 33
All scores are calculated correctly, and feedback on performance is
consistently provided based on quiz results.
Load Testing:
o The system was tested under simulated conditions with 20
concurrent users. It successfully handled multiple requests without
significant delays or performance degradation. Latency was
minimal, ensuring a smooth experience even under moderate to high
traffic conditions.
Page 28 of 33
CONCLUSION
The Online Quiz Application successfully addresses the need for an accessible,
interactive, and efficient platform for students to assess and enhance their knowledge.
By leveraging modern technologies like Spring Boot, React, and MySQL, the
application offers a seamless user experience, secure authentication, and real-time
feedback.
In addition to its core functionalities, the application’s modular design provides scope
for future enhancements, such as advanced performance analytics, personalized
recommendations, and gamification elements like leaderboards. These potential
features highlight the project's scalability and adaptability to meet evolving educational
needs.
Page 29 of 33
REFERENCES
[1] Johnson, P., and Gupta, R. (2018) ‘Building Web Applications with React and
Spring Boot’, Journal of Modern Web Development, Vol.10, No.2, pp.45-56.
[2] Korth, H., and Silberschatz, A. (2020) Database System Concepts, 7th Edition,
McGraw-Hill Education, pp.123-145.
[3] Lee, M. (2019) Hands-On Full Stack Development with Spring Boot 2 and React,
Packt Publishing, pp.78-102.
[4] Sharma, R., and Das, M. (2022) ‘Enhancing Security in User Authentication for
Web Applications’, Journal of Cybersecurity and Data Privacy, Vol.8, No.4, pp.67-75.
[5] Welling, L., and Thomson, L. (2017) PHP and MySQL Web Development, 5th
Edition, Addison-Wesley, pp.250-280.
[7] GeeksforGeeks (2024) ‘Spring Boot and React for Beginners’, GeeksforGeeks
Tutorials. Available at: https://www.geeksforgeeks.org/spring-boot-and-react-tutorial/
(Accessed: 20 December 2024).
[8] YouTube (2024) ‘React and Spring Boot Full Stack Development’, YouTube
Tutorials.
Page 30 of 33
APPENDICES
Page 31 of 33
2. Quiz Management:
o GET /api/questions/addquestion – Retrieve available questions.
Page 32 of 33
REFLECTIONS
As a team, we learned the importance of effective collaboration and communication.
By dividing the responsibilities, such as frontend and backend development, we
ensured that everyone played to their strengths while staying aligned on the project's
goals. We also discovered the significance of adhering to agile practices, which helped
us stay flexible and adaptive to changes during the development process. Learning to
integrate ReactJS with Spring Boot taught us the value of seamless integration between
the frontend and backend.
As a member contributing to this project, I gained deeper insights into the principles of
responsive design and dynamic user interfaces using ReactJS. I also improved my skills
in managing state, optimizing performance, and utilizing libraries like React Router and
Axios for better navigation and API integration. Beyond technical skills, I learned how
to coordinate with backend developers, address integration challenges, and respond
effectively to feedback during code reviews.
Our design process had several strengths. We started with a clear vision and wireframes,
which gave us a solid foundation for the UI/UX. The use of ReactJS allowed us to create
reusable components, leading to consistent and maintainable code. The emphasis on
responsiveness ensured that the application performed well on various devices.
However, there were also weaknesses. At times, we underestimated the complexity of
certain tasks, which led to delays in development. Additionally, our initial testing
process lacked thoroughness, resulting in some bugs being identified later in the
integration phase. Despite these challenges, we learned to iterate quickly, address issues
collaboratively, and improve our workflows for future projects.
Page 33 of 33