Professional Documents
Culture Documents
Sddwizzardlizzards
Sddwizzardlizzards
Knowledge Plazza
Software Design Document
Abigail Bradfield
Kevin Javier Fuentes Santiago
Jackson Smith
Bryce Stiles
Date: (12/8/2016)
TABLE OF CONTENTS
1.
INTRODUCTION
1.1
Purpose
1.2
Scope
1.3
2.
SYSTEM OVERVIEW
3.
SYSTEM ARCHITECTURE
4.
3.1
Architectural Design
3.2
Decomposition Description
3.3
Design Rationale
DATA DESIGN
4.1
Data Description
4.2
Data Dictionary
5.
COMPONENT DESIGN
6.
6.1
6.2
Screen Images
6.3
1. INTRODUCTION
1.1 Purpose and Goals
This software design document describes the architecture and design of Knowledge Plazza,
the 2016 CodeTN project of the Wizzard Lizzards.
1.2 Scope
Although more appealing to students in AP classes, we intend to aim our web-application
towards any student wanting to take the AP exam and is in need of help with studying. As of
now, we are making a version of the web-app made specifically for those that want to study
for the AP US History exam. Our intention; however, is to have a web-app that can be used
to help study for many AP exams.
2. SYSTEM OVERVIEW
The web-application will be able to provide questions to help students study for their AP US
History exam. The students will be able to form groups with friends to compete with and join a
class group to see how their knowledge compares to that of their classmates. Students will also
be able to collect items as they start to get more and more questions correct, and depending on
how many items any given student has will be able to determine how prepared they are for the
exam.
3. SYSTEM ARCHITECTURE
3.1 Architectural Design
The splash page is the initial page shown to users. The login page displays the login and
sign-up screens for our web-app. The plazza is the main shell for users to interact with the
app. The archive displays unlocked archive items and the distance needed to scale in order to
acquire the next unlocked item. The question component displays the question lists and their
questions. The groups displays the groups you are a part of and a history of individuals you
have competed with.
4. DATA DESIGN
4.1 Data Description
Data is stored in a NeDB database for testing and development. NeDB stores data as simple
text files. Our backend architecture has the ability to scale to a different database for better
performance.
Associated user
Unlocked at (Data)
ArchiveItemData
-
Name
Image
Other Data (text)
Groups: Associates a user with a list of other users and groups them
-
Owning User(s)
Members
Name
Question Text
Category
Answers (Array)
Correct answer (Index)
Total Attempts
Chosen answer (frequency)
Associated user
Question answered type
Question correct (yes/no)
5. COMPONENT DESIGN
Splash page
This is the initial page shown to users. If theyre new to the web-app, theyre encouraged to
try answering a question and then offered the option to sign up and save their stats. If they
have already created an account, they can log in and continue increasing their stats. It also
includes information about our app and our team.
Login
Displays the login and sign-up screens for our web-app.
Methods:
- Login
- Sign-up
Plazza
This is the main shell for users to interact with the app. It contains a dynamic greeting, a
logout button, and settings (if any)
- Logout
Archive
This displays unlocked archive items and the distance needed to scale in order to acquire the
next unlocked item.
Question
Displays question categories and questions
Groups
Displays a history of individual people the user has competed with and groups they are a part
of.
6. HUMAN INTERFACE DE
SIGN
6.1 Overview of User Interface
The user is expected to be able to create an account with a username and password that can
be used for user authentication. The user will be able to navigate various pages of which is a
page that the user can answer questions on. Whenever the user correctly answers a question,
they gain points that assist in unlocking items in the archive as an indicator of success. The
user should also have access to a statistics page that displays statistics concerning the types
of questions the user is consistently getting right and wrong.
Sign In Page:
Questions Page:
Archive Page:
Friends Page:
Submit Button: authenticates the given username and password and redirects
authenticated users to the plazza. If the user is not authenticated they are redirected to the
signin page.
Question Button: Redirects the user to the questions page.
Question Options: The user selects the type of questions they want to answer and is
redirected to the questions in that category.
Question Answers: The user selects the answer they believe is correct. Whether
the question was answered correctly or incorrectly is recorded.
Archive: redirects the user to the Archive page where the various items they have unlocked by
correctly answering questions are stored.
Groups: redirects the user to the groups page where groups and individuals previously interacted
with are stored