Please enable JavaScript.
Coggle requires JavaScript to display documents.
Book Clubs Australia Mobile Proof of Concept - Coggle Diagram
Book Clubs Australia Mobile Proof of Concept
Non-Functional Requirements
Security Assessment (CIA Model)
Confidentiality
Encryption
2 Factor Authentication
Passwords
User information must only be made public at the user's request
Employ role-based access control (RBAC) or similar techniques to limit access to sensitive information to only those users who require it.
Use industry-standard encryption algorithms and protocols to ensure the confidentiality of data transmission, such as SSL/TLS for network communications.
Apply appropriate access controls and permissions to limit data access to authorized personnel only.
Integrity
Hashing
Implement proper authentication mechanisms to ensure that only authorized users can perform actions that impact data integrity.
Utilize version control systems to track and manage changes to the application's source code, configuration files, and database schema.
Regularly back up critical data to prevent loss or corruption.
Test and verify the integrity of backups to ensure that data can be restored accurately.
Validate and sanitize user inputs to prevent common security vulnerabilities, such as cross-site scripting (XSS) or SQL injection attacks.
Implement strong input validation techniques to ensure that only valid and expected data is accepted by the application.
Use secure communication protocols, such as HTTPS, to protect data integrity during transmission between the client and the server.
Avilability
Minimal unexpected server downtime
Fault Tolerance
Ensure that the database has high scalability
Maintain constant off-Site backups of all relevant data
Environmental Controlling
Use descriptive names for database tables, columns, and other objects to ensure clarity and ease of understanding.
Maintain consistent naming conventions throughout the database to facilitate navigation and searchability.
Create appropriate indexes on frequently queried columns to improve query performance and response times.
Optimize database queries to minimize execution time and enhance overall database accessibility.
Ensure that related data is appropriately linked through foreign key constraints for efficient data retrieval.
Interface
Visual Communication
Color Scheme
Background Colour: Ivory White (#f8f8f8)
Main Text: Charcoal Grey (#333333)
Accent Colours
Deep Burgandy (#6c0b1e)
Faded Gold (#bdaa7d)
Secondary Colours
Sepia (#704214)
Dusty Brown (#8c7352)
Ensure that proximity is used for efficiency
Ensure that coherent alignment is used
Ensure that the page has relevant scale
Effectiveness
Measure how long a user takes to effectively finish a task to optomise useability
Learnability
Recommend books
Recommend book clubs
Utility
Provide sufficient useability
Accessibility
Ensure that the app is compatible with screen readers, allowing visually impaired users to access the content.
Use proper semantic markup and alternative text (alt tags) for images, ensuring screen readers can convey information effectively.
Design the app to be fully operable via keyboard navigation alone, enabling users who cannot use a mouse to navigate and interact with all features and content.
Ensure that focus indicators are clearly visible so that keyboard users can easily identify the currently focused elements.
Provide high contrast color options for users with visual impairments or those who have difficulty perceiving certain color combinations.
Allow users to adjust the font size and choose from a range of fonts to accommodate different visual needs and preferences.
Maintain a consistent and predictable layout throughout the app to assist users in understanding and navigating the content.
Use descriptive and meaningful link text instead of generic phrases like "click here" to provide clarity and context to screen reader users.
Ensure that links are distinguishable and visually apparent for users with color blindness or low vision.
Conduct user testing with individuals representing a range of abilities, including those with visual, auditory, cognitive, or motor impairments.
Project Folio
1-2 min video demo of data solution
4 pages of Research and Investigation
4 Pages demonstrating the Data Exchange Solution
Efficient and Accurate Code
Australian Privacy Principles
Only store necessary user data
Provide users with options to access, review, and update their personal information stored within the app.
Obtain explicit consent from users before collecting information
Clearly inform users about the purpose of collected data
Implement appropriate security measures to protect user data from unauthorized access, disclosure, or alteration.
Regularly review and update security practices to address potential vulnerabilities.
Encrypt sensitive data, such as login credentials or payment information, during transmission and storage.
Ensure that any third-party services used within the app comply with privacy laws and adhere to similar data protection standards.
Functional Requirements
Functionality
User Login
Sanitisation of Inputs
Store User ID and User Name
User Register
Data Needed
userid
First Name
Last Name
email
password
permission
postcode
last-access
Sanitization of Inputs
Re-Type Password
Book Events
Event Location
Start Time
Finish Time
Host
Attendance Tracking
List of Books
Book Reviews
Star Rating
Description
User
Profile Picture
User Name
comments
Date Published
Search for Books
Book Name
Author
Book Genre
Book ISBN
Filter Books, Display list of books with img of book cover and book name
Reading List
Displayed Book
Book Name
Author
Cover Art
Year Published
Description
Finished Book Button
Button to create a review
Voting
Data Needed
Book ISBN
User ID
timedate
comment
Functionality
Each book shows the amount of votes it has
Leaderboard of books
Possible if (votes)/(needed votes) > 1 function
Data Sources
API
Hapi Books
Data Needed
Book Name
Author
Book ID
Cover (Img)
Book Finder
Existing database
users
books
clubmembership
clubs
meetings
Languages and Applications
CodeAnywhere
Monaca
Javascript (Front-End)
PHP (Back-End)
HTML, CSS, Bootstrap (Front-End)
RapidAPI
Possible Mobile Frameworks
Monanca
Cordova
React Native
Back End
Web-server (Codeanywhere)
Capable of storing and transmitting
Externally Hosted
Database