Please enable JavaScript.
Coggle requires JavaScript to display documents.
Brisbane Events (2) - Coggle Diagram
-
Brisbane Events (2)
Key Algorithms
-
-
Filter (price ascending and descending. Time ascending and descending) for favourite list and event list
-
-
Data Process Options
JSON
Strengths
- it's flexible, compact and in many cases easier to use
- Nested and hierarchical
- Easier to represent a null value
- Can easily distinguish between single items and collections of size one (using JSON arrays).
- Easier to parse
- Easier to use arrays
Limitations
- Lacks schema and namespace support but both are unnecessary for my purposes
- Power Automate has a usage limit of 5,000 API requests
- Not fully secure when parsing (attacker can insert random HTML into your site)
- Limited in terms of supporting data types
XML
Strengths
- XML’s user-defined elements make it a better option for more complicated documents that include images, charts, or other non-primitive types.
- Nested and hierarchical
- Simplifies data sharing and transport
- Supports unicode
- It is platform-independent, thus relatively immune to changes in technology
Limitations
- The redundancy in syntax of XML causes higher storage and transportation cost when the volume of data is large
- The distinction between content and attributes in XML seems unnatural to some and makes designing XML data structures harder (directly affects my app).
- Harder to read
- poor support for arrays
- XML file sizes are usually very large due to its verbose nature
RSS
Strengths
- Form of XML file, sharing the same strengths
- RSS feeds are timely. RSS feeds will automatically update themselves any time new information is posted
- More specific than XML (goes further to define the names of specific tags)
Limitations
- Form of XML file, sharing the same limitations
- Not widely adopted
- Content can easily be copied and accessed by external entities
-
Security Strategy
APPs
- No personal information gathered in this app, with user information such as favourite list being saved onto the user’s device. Terms and conditions outline how information is utilised throughout the app and privacy features are freely accessible (APP 1, APP 3, APP 5, APP 6, APP 8, APP 10, APP 11, APP 12 and APP 13)
- Users interact with the app anonymously (APP 2)
- Unsolicited information received will be disposed of and users are informed about the transferal of their data to us if possible (APP 1, APP 5)
- No marketing used and thus users do not need to worry about external entities receiving access to their data (APP 7, APP 11)
- Government identifier will not be used and the app will not be advertised as a "Brisbane City Council" endorsed app (APP 9)
- Event data extracted from Brisbane City Council's provided JSON file is automatically update to the newest version when the app loads (APP 10)
CIA triad (confidentiality, integrity availability)
Confidentiality
- Personal information is not needed for the purpose of this app and is thus not collected (as outlined by APPs, especially APP3). This means that there are no concerns with external parties accessing our users information
Integrity
- Integrity of the app will be achieved through using official JSON data provided by the Brisbane City Council
- Retrieve information from the API through the use of an access key, meaning attackers are not able to intercept the data transfer and modify event information
- App information is automatically updated with every launch of the app, meaning attackers are not able to abuse the event information by modifying it for their benefit
- No need to worry about the integrity of user's information as no personal information is collected
- Users interact with the app anonymously and thus there is no need to consider protection of sign-in details or 2 factor authentication
- Encryption used to scramble information, meaning attackers are unable to understand the information and thus data stored and transferred between users and their devices is safer
Availability
- Ensure the app is always up and available by use for users by implementing counter-DDOS measures such as firewalls and encryption and ensuring our systems are have the capacity to handle large amounts of traffic (JSON handling 5000 API requests) to ensure a denial of service does not occur
Required App Data
- eventID
- title
- description
- location
- dateTimeFormatted
- canceled
- reservationFull
- requiresPayment
- signUpUrl
- repeats
- eventImage (url)
- customFields (label and value)
-