Please enable JavaScript.
Coggle requires JavaScript to display documents.
BOOK FINDER MOBILE DEVICE - Coggle Diagram
BOOK FINDER MOBILE DEVICE
Functional Requirements
Functionality
Find a Book
The find a book functionality allows users to insert the title, author and genre of book before they then insert how many results they want this interacts with the bookfinder API displaying results on the mobile app.
View Upcoming Meetings
The upcoming meets functionality is going to have the mobile phone interact with the webserver executing a script that will retrieve meetings that the current user can attend
Vote on Upcoming Books to Read
This feature allows users to vote on what book they would like to have there next book club discussion on, it revolves around a request being sent to the PHPmyadmin server that can then display upcoming books.
Login
The login functionality allows users to login to the mobile app by inputting their username and password
Add a book to booklist
This features allows users to add a book to a booklist once they have searched for the book using the bookfinder function
Devices
Tablet
Tablets will have the same functionality as the phone but with just resized dimensions based on how large the screen is.
Computer
Computers will be able to access this program as they are the device that all scripts and commands will be run off therefore they are a necessary tool and must be accessible to the users, additionally all functions performed on the phone can be performed on the computer to allow users to be able to access this program.
Phone
Phones will be able to access this program using this program as one of the key functionalities of this system is the compatibility between the mobile device being able to do everything the computer would be able to do.
Programs/Data Structures Employed
Webserver
API
An API was used so that upon values being inserted into the mobile app and being sent off to the webserver a condition could be sent off to the external database to retrieve results.
PHP
PHP is the coding language used to perform actions from the JSON
SQL
SQL synatax is used to retrieve information from the PHPmyadmin database
Mobile Device
Javascript
Javascript is used as the method of retrieving data from the mobile app and transferring it into JSON format. Additionally JavaScript is used as a way to plate up the JSON response that comes back from the webserver
Device Connection Method
JSON (JavaScript Object Notation) is used as the method of allowing data transfer between the mobile device and webserver.
Database
Books
bookid
bookname
author
apilink
Club Memberships
userid
clubid
membershipid
role
status
Users
userid
email
firstname
lastname
password
permission
postcode
lastaccess
Meetings
clubid
meetinglocation
meetingid
meetingtime
chosenbookid
Clubs
state
clubname
status
clubid
suburb
Security
Hashing of Password
Password are mandatory requirements for all user accounts of this system, upon the account's password being created SHA1 hashing techniques will be employed to stop hackers if they gain access to the database from being able to retrieve the password.
Encryption
Encryption may be incorporated to ensure that any data sent to and from the mobile phone, API, PHP my admin database and webserver cannot be intercepted by attackers trying to steal data.
Token
Tokens will be used to prevent people that do not own the account from performing actions this is a form of security to prevent hackers from gaining access to the account and performing malicious actions. A token is a randomly generated unique identifier.
Two Factor Authentication
Two factor authentication will be used upon attempting to login to authenticate if the user is the owner of this account or not.
Non Functional Requirements
Australian Privacy Principles
Allow the user to modify the personal details of their account
Hide real life names of users to avoid stalking, use usernames to prevent this action
Avoid storing irrelevant user data
Only display relevant data to the user
CIA Model
Availability
The website must be accessible from any device with minimal server downtime
Integrity
All data must be accessible to the user at any time
Confidentiality
Secure login/data protection methods must be used to ensure that users accounts cannot be stolen or hacked