Please enable JavaScript.
Coggle requires JavaScript to display documents.
Five-To-Thrive Application - Coggle Diagram
Five-To-Thrive
Application
Framework
Connect
Give
Take notice
Be active
Keep learning
General Requirements
Log into school server with
College username & password
Allow students to log
completion of
five-to-thrive activities
Activity name (TEXT)
Year (TEXT)
School Term (TEXT)
Five-To-Thrive Category (TEXT)
Term-by-term summary of five-to-thrive activities
Year (TEXT)
Term (TEXT)
Number of activities logged for each framework
category
(INT)
List of five-to-thrive activities
from Brisbane City Council And Queensland State Government web API dataset
s
Description (TEXT)
Date (TEXT)
Title (TEXT)
Location (TEXT)
Use JSON, XML, or RSS feeds for up-to-date data
Up-to-date events/resource information i.e. API
Different pages
Listing of Activities
Logging activities
Summary of activities (by term)
Follow the Australian accessibility guidelines
Logging requirements
Year
School term
Activity name
Five-To-Thrive Category
(see Framework)
To produce:
Low fidelity prototype -
Five-To-Thrive
Logbook Application
Data exchange component - programmatic transformation of data from API to application and displayed
Code modules
Retrieve and display data from relevant API
s
Logging Five-To-Thrive activities
summarising & displaying logged Five-To-Thrive Activites
Non-functional requirements
Legal
Data Privacy Act
APPs (Australian Privacy Principles)
APP 1: user credentials are stored in school server, but not manipulated without consent
APP 3: No personal information collected except username & password through SSO, which are needed for the app's function
APP 4: No unsolicited personal information – the entity collects all personal information via SSO
APP 5: Confirmation message received when signing in
APP 6: No secondary disclosure of personal information
APP 10: SSO enables password changes to keep account up to date; must sign in with email and password, so information always complete
APP 11: Personal information is secure through SSO, as users must only use one set of credentials to sign in, reducing the number of attack surfaces. However, the Data Exchange could still be hacked. APIs also should
Copyright and intellectual
property restrictions
Python sources and binaries free for commercial use
No copyright: API database is free for commercial use, as the datasets are public and have a creative commons Attribution 4.0 license
Societal
Security
SQL Injection – malicious queries
Encryption of student
credentials so they are not stolen
APIs overwhelmed by attackers' requests
– addressed with file caching and throttling limits to slow requests
Use of oAuth 2.0 to stop injection attacks
Economic
No budget
Time available:
14/7/2021 - 06/08/2021
Aesthetics
No style guide provided, but data should be programatically transformed into a organised format, such as a table or listbox for readability
User environment
Demographic
Gender: male
Year level: Year 4, Year 9, Year 12
Ethnicity, race non-important
Age: 9 - 18
Locations:
Manly West, QLD, Brisbane, Australia
Manly, QLD, Brisbane, Australia
Bulimba (Nic's Mum); Gumdale (Nic's Dad)
Ormiston
Interests
Dan Rossitter
Loves pet dog & cricket
Nic Santley
Loves computer games, skateboarding, & The Avengers
Tom Field
Photography, live music, fitness
Technical skills
Interact with basic UI components
Devices
Laptop (Windows, Mac)
Desktop (Mac, Windows)
Functional
Code modules
Dataset class
Parses the dataset into Python-readable format (using json, feedparser, or requests)
Cache the dataset
Read cache file (if http error or parsing error)
Get date, time, title, location, date, description (in separate methods) as a Python list
Dataset 1 class
Inherit and modify any methods from Dataset if necessary if different data retrieval techniques are needed
Dataset 2 class
Inherit and modify any methods from Dataset if necessary if different data retrieval techniques are needed
Data collection methods
Datetime module Python to create Datetime obj from string and convert time data to a more readable format.
Python split method to create list from string and extract relevant elements
Indexing operator using [] to access name:value pairs
Internal database for logged activities