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

Storyboard: Login and Navigation

Storyboard: QR Map

Storyboard: Add/Scan QR Code

Storyboard: Scoreboard

Storyboard: Code 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 | --- |