Please enable JavaScript.
Coggle requires JavaScript to display documents.
BSHS Menu Application Concept (Client Problems (App (Viewed by staff and…
BSHS Menu Application Concept
Client Problems
Development time - 8 Weeks
Devices
iPad/iOS
App
Viewed by staff and students
This app will have a range of users, but all users will have to be affiliated with the school somehow.
Range extends to school only.
This means that there will likely be an authentication for the student with their student ID on another database, This is not prescribed but something that can be added potentially in the future iterations.
Tools
SQL
xCode
Similar Apps
Uber Eats
Ordering system and Food display system can be helpful to the UI of the student app.
Yelp
Able to submit user generated ratings for restaurants or food in restaurants.
User Requirements
Users
Gus
Senior students, likes to shout friends
Has peanut allergy
Mr. T
Indecisive
Will be tired of eating same lunch everyday
Amy
Limited lunch due to extra curricular commitments
spends too much time in tuck shop queue
Developer Problems
Requirements
Self Determined
Needs confirmations when purchasing items. This can be done by showing an alert to the user when the purchase button is pressed.
Prescribed
Orders Meals in Advance
Order meals in advance means that Wi-Fi Connectivity might be present. Furthermore, ordering meals in advance means that a campus must be selected or an order has to be sent prior to the recipient going to the destination of pickup.
Select tuck shop campus
Tuckshop campus selection can be done with two buttons, each signifying their respective campuses.
When pressed, the order is sent to that tuckshop in the respective campus
provide unique order number
Unique order number is triggered by a button press. Random number can be generated via a hash. Another alternative can be to use the random function within swift. In order to check for double ups, a selection in the orderHistory database with the order number generated can be checked for clones. Another number is to be generated if a clone is present.
customise menu display based on price and dietary requirements
Check boxes can be used to filter out table cells. If "Egg" is present within the allergy textbox, it finds the parent of that textbox and removes it from the table view. The parent being the tableviewcell.
Other filtering methods that are done can be search queries or search bars with queries generated by the user. This can significantly increase the usability and learnability for the user as the search function is already standard in most apps. Adding one greatly familiarises them with this app, thus reducing the need to think about what action to take next.
access menu that is organised in logical fashion
This can be done by sorting things by user preference or or by standard alphabetical order. This should be presented with table views.
By using table views. Using the for loop in conjunction with the table views, it can generate the correct amount of cells without redundancy.
access their profile using their student or staff ID
checks account balance
The account balance is embedded within the database that holds the user data. Although not secure, it is easier to read and write the values inside the database.
order history for user
Order history for user is only visible to the user. Data can be stored on another table in the database potentially.
However admins can also access this user history. This means that the table will exist on the same database as the everything else (e.g Menu, user details and orders)
order random food from algorithm provided
This can be done by putting all of the itemID's into an array. And using the select random function in swift, can select a random item within the list.
Data
Prescribe Requirements for data
Admins can upload menu data to app from csv file
Admin can upload profile data to the app from csv file
Create an order history database
MenuID
at least 12 menu items
userID
at least 5 school profiles
orderID
Randomly Generated, or sequenced. Must be unique to the item
User interface
Usability Principles
Government Mobile Application Design Standards
Brisbane State High School requiremnts
Australian Accessibillity standard
Privacy Act 1988
Login Screen
Shows area to type in username and password
Login password directly tied to the database holding user data
Will contain checks within the username to detect an email. Potentially checks for
"@eq.edu.au
" at the end of the email
Food Menu
Separated in an orderly fashion
Can use table views for this
Will display price, description and photos for food.
Using TableViewCells inside the table view, with their respective labels and buttons, showing the user the details on the product and how they can purchase them.
Does not need to have second detail screen. Seeing as we only can order from one menu, a direct "add to cart" option will be visible on the menu in one screen. The user can press this to add the item to their cart.
Uses Table view cells in order to present the items on menu
Items in menu contain images, description, name, price and dietary requirements
Needs to be sorted so that it can also account for allergies and dietary requirements. This means that a potential filter needs to be added into the app.
Order Confirmation
Will contain algorithm to detect user balance and price total from orders. Subtracts user balance from price total. If less than 0 then decline order or reject order confirmation
Second area of buffer so it confirms that the user does actually want to buy these items. Prevents errors from happening which in turn increase the usability of this app
Order History
Easily accessed by both Admins and Users
Admins may oversee the total amount of orders coming through on the app. Can see who orders what item.
Users can only see local history orders. Meaning that they are not to see anyone else's order history.
Order history can use the orderNumber generated by the OrderConfirmation menu
Checkout Screen
Needs to be a buffer between the purchases and the menu area. Stops people from blindly pressing buttons and purchasing items by accident
Needs to display current items that user has entered
Shows the total amount clearly so the user does not need to do mental maths, reduces chances of error and improves usability and ease of access
Code
random orders must include main meal, drink and snack/dessert
Can have possible items as variables in an array
Algorithm and code to read record from students.csv and store them in database table
Convert values in swift. Display as INT or String parameters
Is to be used in most if not all screens
create order history database
algorithm to validate user input (if neccesary)
Used to check account creation. Has to provide an EQ email.
Checks for an "
"
symbol to confirm it's existence as an email rather than just a bunch of redundant string
impacts
Will reduce lines at canteen due to online ordering. Removing the need for queuing for lunch.
Will bring more variety and ease to ordering food at the tuckshop.
Can lead to lower environmental impact as it reduces the amount of potential food waste by meeting a more exacting demand