Adam Coursework
Adam Coursework
‘LearnWise’
By Adam Messis
28/08/2023
CONTENTS
ANALYSIS........................................................................................3
An outline of the problem......................................................................................3
Project management – How I managed the project throughout the year:..............................4
Introduction...................................................................................................... 5
About LearnWise:................................................................................................ 5
Gantt Chart....................................................................................................... 8
Stakeholders.................................................................................................... 11
How the problem can be solved by computational methods............................................12
Thinking abstractly............................................................................................12
Thinking ahead................................................................................................. 13
Thinking procedurally......................................................................................... 14
Thinking logically............................................................................................... 15
Thinking concurrently......................................................................................... 16
Conclusion....................................................................................................... 16
RESEARCH......................................................................................16
Interview with Saad Akram to get an idea of starting requirements...................................16
Interview script................................................................................................. 18
Review of interview............................................................................................19
Research into inspiration – ‘general knowledge quiz’ app...............................................20
How do the different features effect the engagement with app ‘general knowledge quiz’?.......28
Features that will be used for the app......................................................................29
Interview........................................................................................................ 29
Interview script: 29/10/2023.................................................................................30
A review of the interview: 29/10/2023.....................................................................32
Features for the proposed solution..........................................................................33
Hardware........................................................................................................ 35
Software......................................................................................................... 36
Success criteria................................................................................................. 37
DESIGN..........................................................................................41
2
Systems diagram
.................................................................................................................... 41
Why am I using this approach to help design my problem?..............................................41
Explanation on each module.................................................................................42
Usability features.............................................................................................. 47
Login/Sign-up................................................................................................... 47
Resetting password............................................................................................48
Forgot password................................................................................................ 49
Creating an account (Sign-up)................................................................................50
Main page/Home............................................................................................... 51
Stats page....................................................................................................... 52
Choosing categories............................................................................................ 53
Question layout................................................................................................. 54
Choosing the correct answer.................................................................................55
Completing the quiz........................................................................................... 56
Leaderboard/Points............................................................................................57
Settings.......................................................................................................... 58
Choosing incorrect answer....................................................................................59
Quiz over........................................................................................................ 61
ALGORITHMS..................................................................................61
Implementation................................................................................................ 63
3
ANALYSIS
Applications such as quiz apps are essential in making learning in the digital sphere
of education dynamic and enjoyable. In order to meet the problems of user
involvement and the demand for dynamism in educational tools, this project serves
as an example of the union of careful design and flexible approaches. Over the
course of the next six months, a journey will be embarked on to create an
innovative AI-driven quiz application. A project management method known as the
agile methodology will be employed where we will break down each process of the
project into manageable chunks to ensure steady progress towards our goal. The
chunks in this methodology are known as sprints and they are as follows:
4
In this first sprint, we identified that there was a lack of AI education tools using
GPT. We decided to create an AI-driven quiz app that uses the GPT-3.5 model to
produce unique, exciting questions based on the user’s interactions.
We spent this entire sprint trying to understand what technologies are needed for
the project. Python was high on our list, especially PySide6 as it helped bring our
application's user interface to life. At the same time, we explored how we could
best integrate an AI model especially an LLM (Large Language Model) such as GPT
into something educational like quizzes.
To prepare for building out the app, I used PySide6 to outline its user interface. I
had an idea of where users should start when they log in and where they should
end up after receiving the quizzes. This kind of design planning was vital if we
were going to create a user-friendly experience.
This sprint was all about finishing up technical research before starting
development. For example, I wanted to make sure using PySide6 went as smoothly
as possible or figure out how exactly GPT-3.5 could interact with our app without
breaking it.
Having done the technical research and knowing what was required of me during
the development phase, it was time to develop the app. I wrote Python scripts
that would allow integration between GPT-3.5 and our app so users could receive
quizzes at their fingertips. The GUI went through a multiple test but ended up
being built with PySide6 for an easy-to-use experience.
5
In this sprint, I made sure to test the app in all kinds of scenarios possible. Unit
tests on Python code and user interface tests on PySide6 were performed.
Feedback from peers helped make it more usable. The most time-consuming part
of this sprint was bug hunting, where a lot of bugs had to be ironed out.
The final sprint is completing all the unfinished tasks in the previous sprints whilst
refining all the completed parts. Testing feedback was used to refine the
application as much as possible. I worked on ensuring that the AI-generated
quizzes would be accurate and relevant for users, this was done by tweaking the
prompts given to GPT3.5.
INTRODUCTION
In this era of digital learning, where there are tools for everything, it’s
surprising that A-level students don’t have more tailored resources. And now,
as technology continues to evolve, we can start to fill this gap. Introducing
LearnWise! An innovative quiz app for A-level students to help them revise
smarter, not harder.
ABOUT LEARNWISE:
When designing the app, we put ourselves in the shoes of the student. We
wanted to create a space that wasn’t just visually appealing but that also
optimized productivity. That’s why LearnWise has such a calming brown colour
palette — to reduce eye strain and fatigue during long study sessions.
We believe that each student learns differently at their own pace. And so,
we’ve made sure our quizzes are adaptive. The sophisticated AI backend takes
into account your learning style and speed, and then generates personalized
quizzes accordingly.
Finally, even though LearnWise is mainly centred around quizzes it still sets
high standards in educational app design overall. We want users to know that
it’s not just some gimmick filler but rather something that will supplement
traditional methods and truly enhance their learning journey
LearnWise is a quiz app for A-level students that serves as a single point of
reference for exams. The reason behind making this app was the lack of quiz
applications specifically designed for A-level students. LearnWise will fill this
gap by coming up with an inclusive revision platform that seeks to smoothen
and make the preparation process among students expecting their tests. This
app’s design is easy to use and understand; it was created with one goal in
mind which simplifies revising so much that even those who hate doing it find
themselves loving every bit of the experience while using such an amazing
piece of software like this – not only does it simplify things but also helps
people know more about what they are supposed do before sitting for their
exams hence becoming smarter too.
LearnWise is not just a normal educational app but rather an adaptive learning
tool that uses intelligent algorithms to personalize itself according to individual
users’ knowledge levels and learning paces. The creators wanted something
different from other apps out there which often require users figure everything
on themselves; this one recognizes your needs then gives you what works best
based on how fast or slow you can grasp things – its like having many teachers
in one package! Moreover, apart from providing information, LearnWise also
makes sure that learners remain engaged throughout their studies so they don’t
get bored easily and quit halfway through because lets face it nobody likes
studying without any fun involved whatsoever. As such, it employs various
interactive elements such as quizzes with multiple choices questions whose
answers change every time they are retaken until correct ones are selected
thereby keeping students interested in what otherwise would be dull material
covered during those long hours spent revising alone at home when all friends
have gone outside playing games or watching movies together.
LearnWise is not only designed to help students pass exams but also to foster a
love for learning in them. It operates by making the whole process interesting
so that even after one has finished revising, he or she will still want more
knowledge – this was achieved through its adaptive feature which ensures that
as soon as you start answering questions correctly on your current level then
immediately new ones which are slightly harder than before appear thus
maintaining a constant challenge throughout all stages of study; therefore no
matter how much content there may be available within any given subject area
kids never get enough of it since every time they think they know everything
already something else pops up challenging their assumptions once again!
8
GANTT CHART
This Gantt chart shows the key stages of our project. Analysis and Design were
3 months each, then Research took another 3 months, and Testing and
Evaluation were given 2 months, it is a plan that can help us see our way. I
simplified and grouped the sprints into these categories in the Gantt chart.
9
Functional Requirements:
- Track user progress on quizzes along with scores achieved per quiz.
- Enable users to view their quiz history as well as performance over time.
NON-FUNCTIONAL REQUIREMENTS:
- Security: Use secure authentication mechanisms that will protect user data
from unauthorized access or misuse by third parties who may want to gain
control over such information hence putting it at risk.
10
- Scalability: design system so it won’t break under heavy traffic loads; should
be able to accommodate large number of new users joining over time as well as
more quiz content being added every day thereby increasing work load on
server side too but still continuing functioning properly even if there are many
requests coming through at once which could potentially overload some parts
of infrastructure causing them fail completely thus rendering whole uselessness
factor against humanity itself since we need smarter systems now more than
ever before due advancements made within various sectors concerning
technology related matters so far achieved up until now!
- Display helpful error messages when registration fails, login fails, quiz
creation fails or quiz taking fails.
- Log errors and exceptions so that they can be easily tracked down by
administrators who might want to know what went wrong where and why
11
thereby ensuring smooth running of this application even when things don’t
work out as expected thus making necessary adjustments where applicable
until everything starts working again just fine without any further issues arising
thereafter which could affect its reliability towards intended purpose since
everything has been done correctly according plan currently worked upon by
different parties involved here including developers but one thing i am sure is
that nothing good comes easy thus let’s continue giving our best shot always!
SYSTEM ARCHITECTURE:
- Use SQL database (e.g., MySQL, PostgreSQL) for storing user data along
with quiz content as well as results achieved in each quiz taken by a specific
user.
STAKEHOLDERS
The graphics in the game will have a contemporary style, reflecting modern life
and developing technology. While there won’t be any spoken dialogue, background
music will create a calming atmosphere for users as they navigate through the
questions. The app will feature a language selection tab, allowing users to choose
12
METHODS
This problem finds a natural fit with computational solutions, making a computer
an ideal candidate for its resolution. The nature of a quiz leans itself well to
abstraction, allowing for the embedding of multiple conditions within the
application. Furthermore, the straightforward algorithms that can be formed for
quiz scenarios enhance the productivity of a computer. Various examples have
been presented to show the importance of using a computer program with
computational methods to effectively tackle this challenge
THINKING ABSTRACTLY
The process of deciding what elements are crucial for the quiz app and what can
be excluded is why abstraction is an ideal strategy for this task.
13
Simplify the quiz by eliminating all three dimensions and keeping it to only two
dimensions.
Eliminate any unnecessary sounds and buttons and use simplified sound effects to
indicate specific information to the user.
Introduce a bar at the top of the screen during gameplay to provide the player with
a visual reminder of their performance.
Include a menu to grant users the capability to switch quizzes or change options
from the settings tab.
THINKING AHEAD
This involves thinking ahead and having a clear idea of what you want to achieve,
which enables you to plan effectively, providing a structured approach to solving
the problems.
App inputs will probably involve using a mouse or fingers for navigation,
along with various buttons to activate specific app states, such as the 'pause'
state.
THINKING PROCEDURALLY
This is similar to thinking ahead as this gives the problem a structure making it
easier to work with as now you can work at the problem bit by but making the
whole process more efficient.
Procedurally
Then players
This will determine how the app will be played and if there is a two-player version
of the app. If the app is one player there will only be one person answering the
questions. If the app is two players, both players will be answering questions
against each other.
Control
These are necessary to interact with the app. The player should be able to use the
mouse to clock on things in the app to interact and a few buttons to allow the app
state to change e.g. playing to menu by pressing the settings button.
App state
These app states will create an illusion of depth for the app as it will give the app
some structure. There will be a login screen to introduce the app: this will then
switch to the menu app state this will then allow the user to choose between
player one app state and player two app state. Furthermore, if certain conditions
are met, the app state will change to game over.
15
Score:
This will give the app some sense of achievement. Different amounts in score will
trigger different events e.g. if the user answers a specific streak of questions they
will receive the added time, if the score per round is too low a ‘game over’ state
will be triggered, or if the player has just achieved the right score to go to the next
round.
The app has been broken down into four main problems, by thinking procedurally,
that should be solved for the app to have basic functionality.
THINKING LOGICALLY
This helps me think about what way I could solve the logical aspect of my problem.
When the menu button is selected, the app will switch to the menu game state. If
a question is answered, a branch will be activated meaning points will be added to
the player's scoreboard. As the quiz is running there will be a constant iteration
running, checking certain conditions which will cause a branch to change the game
16
state to the ‘game over’ game state. There will also be a constant iteration being
run to check when a question is answered.
THINKING CONCURRENTLY
This is useful for thinking about how to make my solution more efficient when the
solution is in use. The app will be updating its score and drawing questions from
the OpenAI API at the same time.
CONCLUSION
The previous examples have demonstrated that the features of my problem can be
solved via computational methods making it suited for a computer program. These
methods are useful for giving the problem some structure so it can be more easily
solved hence making the problem suited to the computer program.
RESEARCH
STARTING REQUIREMENTS.
Interview 23/10/2023
17
This interview is designed to find the basic requirements from the user. This will
then provide guidance as to what type of quiz app will be created.
The main three headings for this are: what makes a good quiz app; is two-player
mode wanted and what type of visuals are wanted for the app?
Question layout:
Does the presence of sound effects impact your experience while taking a
quiz?
In your opinion, do visuals play a role in shaping the quiz-taking experience?
Should a score system be implemented in the app?
Is the implementation of a scoring system in the app something you find
important?
Considering the target audience, how much realism should be put into the
app?
For the ‘LearnWise’, how many questions should there be per round?
For interacting with the ‘LearnWise’, how would you want to interact and
engage with the app?
Would a two-player version make the original app better or worse and why?
How do you feel about competitive quizzes?
If a two-player option was used in 'LearnWise,' what specific format of the
game would you prefer?
INTERVIEW SCRIPT
Does the presence of sound effects impact your experience while taking a quiz?
Yes, because when the sound matches, it makes the visuals more impactful.
Yes, increased visual effects enhance the quiz experience and encourage more
participation in answering questions.
Yes, it gives a goal and indicates your performance within the game.
Considering the target audience, what level of realism should be put into the app?
Given the app's genre, the layout doesn't require realism. This could help the
target audience understand that they are not dealing with actual exam questions.
In interacting with 'LearnWise,' how would you want to interact and engage with
the app?
I will utilise my mouse to navigate through the app and address the questions
presented in it.
Would a two-player version of the app make the original better or worse and why?
19
It would enhance the app as you can play against them and compete to see who
gets the best score.
Competitive quizzes require more time to set up and play. A one player quiz can
be loaded quickly and played.
If a two-player option was used in 'LearnWise,' what specific format of the game
would you prefer?
Both players can have different questions, and the goal is to see who scores the
highest in a set time.
When the questions appear, there should be a little number deducing how many
marks that question will be, which is similar to how an exam paper is.
I would like the app style to be in a calming format as it will ease users and not put
them under pressure.
As the topics gets harder, the background could change but there should be a
setting for the user if they do not want the background to change.
Do you desire any animations when achieving a correct answer or upon completing
the quiz?
Yes, as it will make the app more exciting and will give the user some sort of
achievement for completing the quiz.
REVIEW OF INTERVIEW
20
For the visuals and sounds, we chose to use subtle animations and sound effects.
Additionally, all the art will format calming visuals. The app aims for a level of
realism where users respond to timed exam questions, except without the
associated pressure of an actual exam.
For the user experience, we decided to include a level system that will link in with
a score system to give the player a sense of achievement in the quiz. We also
decided to include the two-player game mode to make the quiz more appealing to
a wider range of people are there is more content being given and they can play
the quiz with their friends making the app more fun as it adds a competitive aspect
to it. Finally, it was decided to use the fingers as the control, or if the user was
using a laptop, then they will be using a mouse.
Finally, we settled on utilising the mouse and keyboard as the control method, as
the application will first be introduced on laptop first and then if successful will be
moved onto a mobile device, where the controls will be utilised using fingers as
the control method. We have decided to implement the mouse and keyboard as
the primary control method for the initial release of the application, targeting
laptop users first. This is because of the familiarity and ease of the user of use that
these input devices offer for navigating through the quiz content.
QUIZ’ APP.
Quiz logo
presented when
user opens the
app.
Play button
displayed, which
then takes user to
login/sign up page.
22
Calming colour
scheme theme.
Selection of
various topics.
User can test
themselves with
questions
specifically based
on chosen topic.
24
Login streak to
motivate user to
stay on the
podium and
answer more
Podium based questions.
off user’s
points and
login streak.
Scores from
previous
weeks are
also stored.
This helps
user keep
track of their
progress.
25
Leaderboard
based off points
system. Adds
competitiveness
and more
excitement to
quiz app.
26
User is able to
change audio and
sound
preferences in
settings section.
Additional
settings options,
more specifically
for layout of
questions and
hints.
An option to ask 27
for a hint when
user is stuck on
question.
Question
clearly stated
above the
multiple
choices.
4 choices are
given (A-D).
This row shows
Only 1 of
how many
these would
points you have
be the correct
earned for the
answer.
question, how
many points you
already have
and an option to
exit the
question.
28
App logo
Displaying the logo at the start of a quiz app is essential for brand recognition,
professionalism, and user engagement. The logo serves as a visual identifier,
creating a positive first impression and it contributes to the app's aesthetics. The
logo plays a crucial role in marketing and promoting brand recognition, ultimately
enhancing the app's success.
Colour scheme
A calming colour scheme can positively impact the engagement of a quiz app in
several ways. The calming effect of blue tones can create a pleasant and inviting
user experience, helping users feel at ease while interacting with the app. This can
contribute to increased focus and a more enjoyable experience.
Menu/Categories
The design of the menu and question categories plays a crucial role in user
engagement with a quiz app. A well-structured and visually appealing menu, along
with clear question categorisation, enhances navigation ease and provides a user-
friendly interface. This not only makes it easier for users to find content but also
contributes to a positive overall experience. The efficient organisation of questions
encourages users to explore different categories, promoting increased interaction
with the app.
Leaderboard
motivates users to aim for higher scores, providing a sense of achievement and
driving continued use of the app.
Settings
The settings of a quiz app can provide customisation options and enhance the
overall user experience. Settings allow users to tailor the app to their preferences,
encouraging a more personalised and enjoyable interaction.
Question page/Visuals
A well-organised layout, featuring the question and multiple answer options, shows
a clear layout and challenges users in decision-making. The inclusion of a hints
button provides user with help when needed, preventing frustration and
encouraging the user to attempt the question before moving onto the next.
INTERVIEW
Question layout:
Visuals/Sounds
Game play
Visuals/Sounds
What animations do you want for the questions page?
I want the progress bar to move along with each correct answer.
I want the hint button to pop up when stuck on a question.
Game play
Do you want a limited number of lives?
Yes, maybe up to 3 lives.
During this interview, we have pinpointed the key features of the app.
Questions page
Progress bar will move along with each correct answer.
The hint button will pop up when stuck on a question.
Calming theme throughout for each question page.
Points will be displayed directly underneath each question.
When correct answer is chosen, there will be an upward and rewarding
sound.
When wrong answer is chosen there will be an eerie sound played.
Quiz indicators.
There will be 3 given lives.
A life will be lost with each incorrect answer chosen.
Life count will be displayed at the bottom right of the screen.
Pause and menu button will be displayed at the top right corner.
Points
Questions will be either 10 points or 20 points based on difficulty.
Leaderboard will display rank from highest to lowest score.
33
Features Justification
Login page The login page allows users to access
their account. Once logged in, users can
view their progress/stats.
Forgot password screen Provides users with a way to regain
access to their account without them
having to worry about their progress
being lost.
Reset password screen This allows user to update their
password for security purposes or regain
access to their account.
Sign up screen Allows new users to join the app and
have their progress saved.
Category selection Indicates which topics are available for
user to select based on their
preference. Users will have a more
tailored experience.
Colour scheme/Visual comfort Comforts users when interacting with
the app as the lighter colours make
them at ease.
Leaderboard This will indicate rankings and the
points rewarded to the user. The more
questions they answer correctly, the
34
HARDWARE
Item Justification
Keyboard Required so the user can enter their
credentials
Mouse Allows the user to navigate through the
quiz and answer questions
SOFTWARE
Item Justification
QT Pyside6 Allows the user to play the quiz without
having to download QT Pyside 6
themselves
A platform which is any of the These are the platforms that will
following:Windows effectively use the hardware to run the
Android quiz
Flash
OS X
IOS
HTML5
Linux
WP7/WP8
37
SUCCESS CRITERIA
page.
Login/Sign-up pages This is so all their information is Proposed solution
that will direct user stored in an account and the data
to category page will not be lost
once they
access/create their
account
Selecting maximum This is to not overwhelm the user Proposed solution
of three categories and have more tailored questions
Three lives total Users will have another chance at Interview 29/10/2023
completing the quiz which will
encourage persistence and users
will learn from mistakes
Stats page should Users can track their performance Proposed solution
display overall overall which will give them
percentage of motivation and goals to strive
correct and towards. This will also give a
incorrect answers. competitive element to the quiz
High score, especially in a leaderboard setting.
questions answered,
total correct,
longest streak and
current streak will
also be displayed
here
Main page will Offering three clear and distinct Proposed solution
display three options on the main page simplifies
options: play, view the user interface and will not
stats and log out overwhelm the user
Progress bar This is so users can see visual Interview 29/10/2023
gradually moving up immediate feedback on the
until fully green. progress. As users select correct
This is dependent on answers, they can see the progress
39
DESIGN
41
SYSTEMS DIAGRAM
PROBLEM?
Starting with a top-down module design really helps me pinpoint what I need
before I begin coding. This approach involves breaking down the problem into
smaller parts, enabling a more focused examination of each aspect. By doing so, it
becomes possible to use computational thinking skills such as "thinking ahead" to
determine inputs and outputs. Additionally, "thinking logically" aids in identifying
decision points and assessing their impact on other parts of the solution. This
structured approach lends efficiency to the development process, allowing for
systematic progress towards a working solution.
42
Leaderboard
Points added
Points will be added to last score. Position of the user on the leaderboard is based
on whether the score is high or low. If the user has a high score they’ll be
displayed as the top 3 or move up to a higher rank than previous placement.
Upon quiz completion, the user's score is checked against the current top high
score. If the user's score exceeds the current top score, the database is updated
with the new high score. The app displays the updated high score on the
leaderboard, ensuring it's visible and aligned with other scores.
Display leaderboard
This will display the leaderboard and rank of users from highest to lowest points
will be shown.
Paused
Un-paused
When the pause button on the top right corner of screen is pressed the quiz will
change from a paused state back to the playing state.
Login/Sign-up
By accessing their account, the user would have to log in. If they have forgotten
their password, they will have the option to select “forgot?” to sort out the issue.
If they do not have an account, they will be able to sign-up, then redirected to
sign-up page to create one.
After selecting either of these options, the user will be able access their account
again. When selecting “forgot” they will be asked to enter their email/username.
When selecting “reset” they’ll be asked to enter another password and to confirm
the password that they have chosen.
Home
When user has successfully logged into their account, the home page will appear
with the three following options: play, view stats and log out. The "Play" option
directs users to the category page. "View Stats" enables users to access their
statistics. Lastly, the "Log Out" option allows users to securely log out of their
account.
Views stats
This can be viewed before pressing “play”. This will provide performance feedback
on percentage of incorrect and correct answers in format of a graph and
summarised scores next to it.
After selecting the categories, the application proceeds to transition to initiate the
first category quiz chosen by the user. This triggers the retrieval of quiz questions
and content associated with the selected category. The application then presents
the quiz interface to the user.
44
Quiz over
Once three lives are lost, the application transitions to the "Quiz Over Display"
state.
Start-up
Title of app
The code will start in the start-up state and will display the title of the app with
the app logo.
Visuals3
Correct answer
Highlighted green
Green border around correct option selected by user will be shown. Above the
correct option there will be another indication stating “Correct!” with a green
background.
Points earned
Points are earned after every correct answer given by user. This will also be stated
when quiz indicates user has correctly answered the question.
Incorrect answer
Highlighted red
Red border around correct option selected by user will be shown. Above the
incorrect option there will be another indication stating “Incorrect!” with a red
background.
Life lost
45
User is given 3 maximum lives. If user picks incorrect answer, then a life will be
deducted. In code, this would be a variable called "life" set to a value of 3.
Progress bar
When user answers questions correctly and quiz category is nearly finished, then
progress bar will gradually turn fully green.
Stats page
The data shown on this page will change and update according to users interactions
with app and their achievements in overall quiz categories.
Sound
Correct
When user selects correct option, an upward and rewarding sound will be played
and they will be able to move onto the next question.
Incorrect
Eerie sound
When user selects an incorrect option, an eerie sound will be played and user will
either be shown they got the question wrong or be directed to a quiz over page if
they’ve used up all their lives.
Points system
Question worth
46
Life system
Life removal
A life is removed with each incorrect answer given. User can only make 3 mistakes
before “quiz over” is displayed.
Questions
Correct answer
Points earned
Points are earned and added onto score shown in stats and leaderboard. Progress
bar also moves along and eventually becoming green.
Quiz complete
This will be displayed after user successfully completes quiz category. They will be
directed to move onto next category.
Incorrect answer
Quiz over
Retry option will let user retake the quiz, they will be returned to beginning of
quiz. The option to go back to home page/main page will be provided if user wants
to view stats or log out. Next category button allows user to move on, the lives will
be regained when new category has started.
47
U SABILITY FEATURES
L OGIN /S IGN - UP
App logo
displayed on
right side of
screen.
Provides first
impression of
brand.
R ESETTING PASSWORD
F ORGOT PASSWORD
Minimal
information
needed for
user to
create
account.
Quick and
easy way to
get started
with app.
51
Play: User can proceed to play the quiz and will be directed to the categories page
View stats: Users will be able to find out how well they are doing before starting a new quiz
Log out: Users can log out of their pre-existing account and log in to a different account
instead
52
S TATS PAGE
Clearly
indicates
user’s
progress.
Motivates
them to
improve and
highlights
their
accomplishm
ents.
53
C HOOSING CATEGORIES
Spaced layout of categories for user to think about what to select. This easy
selection allows user to tailor their own quizzes based on things topics they may
be struggling on. They have to select up to 3 to start the quiz.
54
Q UESTION LAYOUT
Gives user
extra
information on
why their
option was
correct.
Green
border
indicates
user has
answered
correctly.
User can
User will be access
able to view same
their stats topic
for each questions
chosen again for
category more
practice.
L EADERBOARD /P OINTS
S ETTINGS
Click this button to leave
the current screen or close
the application.
59
Red border
indicates
user has
answered
incorrectly
ALGORITHMS
IMPLEMENTATION
- We have an issue with importing a qrc file. This as a result, when running the
program, we cannot see the images and the icons.
- We then used this command ‘pyside6-rcc resources.qrc -o resources_rc.py’ which
converts the qrc file to a python file.
When we ran this in the terminal, we had an issue. Basically, owl.png was in the project
directory but the project directory was located in our documents folder and not in the desktop
folder.
64
Now we changed the location to the owl file, which is in our resource folder, and then we
rerun the terminal command and it worked.
Make your own user flow again now but only include the screens that have been developed,
show their relationships with lines and number them.
Include the image here in the document, and then explain what each number (screen) does.
1. Starts with login window upon opening the app, here there are 4 functions a user can do:
- Input their login details (they must have been previously registered)
- Reset their password
- Sign up if they do not have an account
2. IF user presses signup button in Login Window, then the window will change to Register,
here the user can signup. Also talk about all the kinds of error messages and validation
messages that the UI uses to give feedback to the user’s based on what they are doing.
65