0% found this document useful (0 votes)
59 views

Poster Templete

This document describes a quiz application project created using object-oriented programming concepts in Java. The application displays a login page, two sample quizzes, and tracks correct answers and time. It was created using four classes - Question, Questions, Quiz, and Results - to store and display quiz data. The application was tested and works as intended, demonstrating object-oriented programming principles. Areas for improvement include adding more quizzes, a database, and the ability to create new quizzes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views

Poster Templete

This document describes a quiz application project created using object-oriented programming concepts in Java. The application displays a login page, two sample quizzes, and tracks correct answers and time. It was created using four classes - Question, Questions, Quiz, and Results - to store and display quiz data. The application was tested and works as intended, demonstrating object-oriented programming principles. Areas for improvement include adding more quizzes, a database, and the ability to create new quizzes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 1

Quiz Application

Grade 2, 2022/2023 – Semester 1


Abdulrahman Abuzaid Mahmoud | Mohammed Mourad Shafiq | Mostafa Ahmed Heikal
Abdulsalam Mohammed Abdulsalam | Abdul Karim Younus Obaid
Key words: Quiz App, Quiz, OOP, MCQs, GUI, JavaFX, Java

ABSTRACT METHODS RESULTS CONCLUSION


This semester’s challenge is to use object-oriented programming concepts to
make a useful application. We decided to make a quiz application to implement After determining the methods or materials we came up with a test to the After running the program, the windows are displayed perfectly and after
First of all, I will demonstrate the classes UML that we used as a guide to application and we will show a result windows to confirm that the starting a quiz, questions are displayed successfully. After ending the quiz
object-oriented programming concepts on it and the application is expected to implement them. Figure 1 shows that there are four classes and each class
show the importance of object-oriented programming and its benefits on such a application works as expected: results are displayed. Object-oriented programming style of code has
is associated with another class to do something. benefited us so much in doing such a project.
project. The application is to show a simple login page that takes the name and
On one hand, There is at the first a class Confounders and Limitations:
the role whether student or instructor then show a new page that contains two
Named “Question” and its role is to hold -this app has two quizzes only in the current time and to make it perfect we
quizzes that we put in it and the account details(name and role). When you
Each question data e.g. question title, should use databases and APIs instead.
chose any quiz a new page emerges and the quiz starts. Each quiz has many
Question correct answer and so on. From -this app has a temporary login system with username and role only and to
questions and the number of questions is displayed in the header of the page
The most important method in it is the expand this we should use databases.
and a quiz timer is displayed in the footer. If the countdown timer under the Fig7
Render method that receives the elements Fig5 Fig6 Result Page
-Currently, there is no create quiz ability.
quiz is finished the quiz ends permanently. All questions are multi-choice Home Page Quiz Page
To put the question data in it. Key Improvements:
questions and each question has four choices. When you select any choice the
The second class which is named “Questions” After conducting various tests to the program we faced some troubles with -The most important improvement is to provide this application with a
submit button will become available to click and when you click it the next Fig1
We used it as a database for the two quizzes UML
the timer and with sending data from scene to another but finally we solved database, with that we can also add the ability to create quizzes easily.
question is displayed and the submit button becomes unavailable to click. After
We put int the application. The class named this problems and the current version is expected to do what we want -An important improvement is to use an API to fetch quizzes like the “open
ending a quiz a new window shows the number of correct answers and the time
taken to solve all problems and a close button when the clicked window is been The “quiz” task is to manipulate the quiz page and render the next exactly, with that we has applied many concepts of object-oriented Trivia database”.
hidden and the home page is shown again. This is the result of the project, in questions, check the answer, set the timer for the quiz, and so on. programming and found out how is the importance of it in such a project. Project Expansion:
this project we used Java programming language due to its powers in object- On the other hand, the final class manipulates the end scene and displays -A key improvement to expand the project is to make a website also and
oriented programming and we use JavaFX in order to make the GUI. We used The number of correct answers and the time is taken in the quiz. provide them with a database and make a proper system to add categories
also some CSS code to style elements in the scene builder. In the GUI we used and the ability to add local and online quizzes set.
the scene builder and FXML files to load them in the java project to display
them to the user. The 2nd thing to talk about in this section is what we used as a ANALYSIS
programming language and in the GUI. We face many problems throughout the implementation of our idea. The

For the programming language, we used


first problem was how and where we would store questions of the quizzes,
we thought to use databases but we didn’t study databases until now, so we ACKNOLWDGEMENT
INTRODUCTION The Java Programming language due to
Its powers in object-oriented
thought to use Array List
class in Java to store a collection of
The team is so thankful for:
In order to ensure that you have understood object-oriented programming Programming field and also we studied -Dr. Shaimaa Sorour.
questions(many Question objects).
concepts you must do a project that demonstrates the usage of object- This language is this semester so we Fig2
Java Programming Language And sending data from class to the Fig8 -Dr. Ahmed Saleh.
Array List of Question
oriented programming concepts and shows also the importance and the pros Preferred to use it. For GUI we used other without using databases was a problem, so we used page controllers
of using this programming paradigm in implementing different ideas. A JavaFX java library and Scene builder to to transfer data from one class to the other.
quiz application is one of the most important applications that you can do to
insure that you can implement any idea with object-oriented programming
so we are supposed to show how to build such a project. Quiz applications
Build the user interface by drag and drop.
That Scene builder converts
our drag-drop design into XML code We also were to determine which quiz will be displayed to the user, so we
FOR FURTHER
are those applications that are used to make quizzes for students at the time.
Making a fast-loading quiz app and not lagging is a key consideration. Such
in a .fxml file extension, then we use
“FXMLLoader” class to load the .fxml file Fig3
Scene Builder
decided to make each quiz number when the selected quiz is clicked on.
When the user clicks on a quiz a number
INFORMATION
an app is supposed to have a login system, a questions database, and a within Java code. And we handle elements is sent to the controller of the quiz page that equals If you need more information you can contact us at:
dashboard. Also, the ability to add, update and delete quizzes and strict with the controller class that should be related to the “.fxml” file. the number of the quiz. This number is used to [email protected]
quizzes to timers and so on. The main purpose of this project is to the main fetch the selected quiz data and start the correct quiz [email protected]
things that must be in a quiz app and demonstrate the usage of object- Test Plan: and display it. And we placed the setting quiz Fig9 [email protected]
oriented programming within the project. A test of the Program may be performed on the practical exam day or by number code in the controller constructor to be set Quiz Stage Controller

our doctors after sending the code to them. The test steps are as follows: before the initialization of the page.
1. Open the project in any IDE for Java and open
“HelloApplication.java” and run it. To set a count-down timer to the project we faced many multithread
2. After running a login page will be displayed on the screen, you enter problems and runtime problems while
a name and choose whether you are a student or manipulation of the window elements during the
doctor. timer is working. And we have solved that with a
3. After pressing the login button a new window “Platform.runLater()” Method within the Fig10
“Quiz App” is displayed on the screen and shows “TimerTask” inner class, then it worked fine. setQuizTimer() Method

that there are two quizzes available.


4. Choose any quiz by clicking on it. In order to manipulate all window elements in different
5. Once you clicked a new window emerges and classes and send them from one method to another, we
Fig4
the quiz you selected starts. Login Page make all elements public in the quiz controller and the
6. After you answer the question by selecting any radio button the next other controllers.
question will be shown and so on until finishing the quiz.
7. After the last question or the time is up a new window displays the
correct answer and the time is taken press close to terminate it. Fig11
quizController{} class data fields
8. To show the name and the role click on the account icon on the top
left.
9. To close the application click on the logout button and press OK on After implementing the project this is the final hierarchy of
the alert. the project, the “HelloApplication.java” file is main file to
run the project.

Fig.12
Final Project Hierarchy

You might also like