Tuckshop App
User
Developer
Client
Features
Coding Environment
Data Storage and Retrieval
Interface
Amy
Impacts
Gus
Mr T
Requirements
Constraints
Create a positive User Experience
Screens
Login Screen
Home Screen
Menu Screen
Order Confirmation Screen
Order History Screen
Must Adhere To
BSHS Visual Identity Guide
Brisbane SHS - Official School Colours
Government Mobile Application Design Standards
Australian Accessibility Standards
Must Comply With The Privacy Act 1988 (Cth)
Usability Principles
Nue Helvetica is BSHS Primary Font (For External Corporate Font) - clear, legible, different weights available
Colours Blue and Cerise - BSHS Colours - consistently
Comply with Accessibility guidelines (Queensland Government 2017)
App must allow staff and students to:
Order Meals in Advance
Select the correct tuckshop campus for collection
provide a unique order number
Customise how the menu is displayed on price and dietary requirements
customise based on price and dietary needs
Access a Menu that is in an organised, logical fashion
organised by food type (e.g. lunch, snacks) and in alphabetical order
Access profile using student/staff ID
Display: remaining wallet balance and order history
generate a random meal selector based on a provided algorithm
State high logo on each screen
uses familiar icons and button locations as other apps
large icons and images will be used for effective user experience and to make each screen easily accessible
Simple layout to keep the focus on the apps requirements - utility
The app does not share any personal details, and when the password is typed in the letters are not legible for safety/security
Full schedule - not much time to spend in tuck shop line
Senior student
Has trouble deciding on what to buy
Vegetarian - dietary requirements
Junior Student
Wants to see his wallet balance
Peanut allergy - dietary requirements
Always eats the same thing
Allow users option to input foods they avoid
users who use the app go in a different line
an 'Account' screen will allow users to view their balance
Options to see foods which users can eat
A feature for a random meal simulator will be coded
A menu built into the app will be available
SQL
Required Data
Records/fields are able to be retrieved using queries: SELECT, AND, WHERE and OR statements will be used
X-Code
interface is created on Xcode
Swift language will be used
Will save students/staff more time not standing in lines
Business should increase therefore school will benefit economically
Advances technology - also promotes school for it's innovation
8 weeks of school time
Written: 4-6 A4 pages
Multimodal: 8-10 A3 pages
Multimodal: 2-4 minutes
Individual task
Competitors
Cafe menu's e.g. Coffee Club
papercut - printer balance checker
ubereats
Feature: Once a meal/item is selected comment to say "item not available"... ETC.
Foods ordered by category
allows users to sign in and then their balance is displayed
Error messages appear both after incorrect credentials are inputted to login and also if food ordered is not available at the selected campus
Place Order Screen
Account Screen
Other features
Mobile app compatible with iOS, and interface compatible with iPad
Links back to the home screen from each other screen in the app
"Order Collected" button returns users back to the home screen
Random meal generator - pseudocode provided will generate a random meal for a user based on given needs e.g. price maximum
Once an order is completed and collected, it is sent to the order history page
.csv files
Algorithms
If a user inputs the wrong credentials, an error message will appear for them to retry
If a user inputs a price into the random meal generator, they will receive a meal with a snack, drink and meal equal to or less than that price, else if there is no available meal for that price, an error message will appear
If a selected campus does not have the foods which a user intends to pick up from there, then an error message will appear
When an order has been collected, it is moved into the order history screen
Menu.csv
Order.csv
Item.csv
Users.csv
Data including: userID, userName, userSurname, userWallet, userPassword
Data including: orderID, orderUserID, orderCampus, orderPrice, orderDate
Data including: menuID, menuCategory, menuDescription, menuPrice, menuHalal, menuAllergy, menuVeg
Data including: itemID, itemMenuID, itemOrderID
If a selected campus does not have the foods which a user intends to pick up from there, then an error message will appear
Wallet balance as the main focus of the screen and an option to add credit to the balance
Displayed as a table view showing past orders for that user
Familiar text fields as the focus of the screen for username and password inputs
Image and large buttons For usability which navigate screens
List of all menu items in table view. Image for effectiveness and a search bar for utility
Description of order as the focus and button to indicate when the order has been collected - this will then send the description to the order history screen
Required Searches
Menu table
Order Information Table
User Information table
required fields: OrderID, price, day, campus, description
required fields: menuID, category, description, price, halal(Yes/No), Allergens, Vegetarian(Yes/No)
username, Given name, family name, wallet balance, email, password
The app requires users to be able to search for:
dietary requirements
the price of a random meal
The campus they will collect order from