Please enable JavaScript.
Coggle requires JavaScript to display documents.
FIA3 - NC Activities Web App - Coggle Diagram
FIA3 - NC Activities Web App
Programming
HTML
Base.html
home.html
login.html
register.html
search.html
upload.html
CSS
style.css
Bootstrap
Libraries
Flask
sqlite3
os
werkzeug
flask_wtf
wtforms
Python
Functions
insertDetails
verify_user
dectectLabels
binaryConversion
insertImage
insertLabels
getRecentLabels
fileExist
getPhotosLabels
writeToFile
binaryUnconvertedLabels
App Routes
/login
/
/upload
/search
/register
/thankyou
/logout
Jinja
Block content
extends
for loops
Users
Jack Woodrige
A College staff member is responsible for collecting, sorting, and cataloguing photos for school activities. He often struggles to quickly find specific images requested by Marketing based on content or location.
Christian Jackson
A Year 8 student who recently started participating in activities like Music and Debating, but isn't confident or reliable when it comes to organizing photos on their own.
Michael Davis
A senior student and hobby photographer who enjoys taking photos at school activities and overseas trips but finds organizing them frustrating, and has an interest in technology.
API/Data
Google Vision
Google Vision will be used to process the images, and the labels will be used to search for the images
Database
Users
This will be used to store the user information, provided by the register form
Passwords will be hashed and stored, not plain text
images
This will store the raw binary data of the images, and will be used to retrieve images when they are searched for.
labels
This will store the labels from Google Vision, and will be linked to the images table with a one to many relationship
Usability Principles
Learnability/effectiveness
The UI must be consistent across all the pages
Navbar must the same, only change items in it
Clear contrast with background (white) and place for user to interact (search bar, upload, register/login)
Utility
Users Must be able to upload/search images
Users must be able to login/register on every page
Users must be able to register in the web app and use their username and password
Security
Login
check username, and password against user database
Register
The password must be at least 8 characters long
The password must contain an uppercase letter
The password must have one special character
Passwords are hashed using sha:256, and added 8 salt
Prompted in terminal when user registers, must enter "y" to allow registration