Project Part 2 - CMPUT301W23T40/CaptureTheQR GitHub Wiki

Product Backlog:

All product backlog can be found here in form of a project board.

User Interface Mockups and Storyboard Sequences

Full Storyboard


Right click on the lossless image and download it to get a better view


301 Storyboard (1)

Storyboard: Login and Navigation

storyboard_login

Storyboard: QR Map

storyboard_map

Storyboard: Add/Scan QR Code

storyboard_add

Storyboard: Scoreboard

storyboard_score1 storyboard_score2

Storyboard: Code Library

stroyboard_library

Object-Oriented Analysis

To complete our OO Analysis, we have implemented CRC cards to easily identify the responsibilities and collaborators of each class

Player

Responsibilities Collaborators
Can view QR Codes (all or their own) QR Code, QR Code Library
Can remove their QR Codes QR Code, QR Code Library
Can search for nearby QR codes QR Code, Map
Can search for other players Scoreboard
Can view other players' profile Scoreboard
Can comment on QR codes QR Code, QR code Library
Scan/add the QR code QR Code, QR Analyzer
Can record geolocation of QR code object/location Map, QR Code
Can take and share photo of QR code object/location Photo, QR Code
Has a unique username and contact information ---
Records the user's unique device ---
Calculate sum of scores from their QR Codes and other metrics QR Code
Has list of their own scanned QR Codes QR Code
Show estimate of their rank for the highest scoring unique QR code Scoreboard

QR Analyzer

Responsibilities Collaborators
Get information from the scanned QR code ---
Convert QR code content to hash value QR Code
This class will assign a human readable name to the QR code scanned QR code
This class will create a visualization for the QR QR code
Calculate score of the QR code QR Code
Create QR code object to store its info QR Code

Map

Responsibilities Collaborators
Get the geolocation of the player Player
Show the nearby QR Codes on map QR Code
Has list of all scanned QR Codes QR Code
Search for QR Codes by the geolocation QR Code
Display list of QR Codes near the searched geolocation QR Code

QR Code

Responsibilities Collaborators
Save the hash value representation of the QR Code QR Analyzer
Save the name of the QR QR Analyzer
Save the visualization QR Analyzer
Save the QR score QR Analyzer, Scoreboard
Has list of scanners' info ScannerInfo

ScannerInfo

Responsibilities Collaborators
Records the scanner's name Player
Records the geolocation where this particular scanner scanned the code Map
Records the scanner's comments Comment

QR Code Library

Responsibilities Collaborators
Allow player to view a list of all scanned or their own QR Codes QR Code
Display list of desired QR Codes QR Code
Can view detailed QR Code info QR Code, Player, Comment

Scoreboard

Responsibilities Collaborators
Allow player to choose ranking metric (highest scoring QR codes, the most QR codes, the highest sum of QR codes, or highest scoring QR codes in a region) Player, QR Code, Map
Display list of players based on rank Player
Has list of all players Player
Show the approximate ranking of the user Player
Allow player to search for other players by username Player

Comment

Responsibilities Collaborators
Maintains comment content ---
Maintains when this comment was made ---