iTRAIN
Functional Requirements
Non-Functional Requirements
Database
Functionality
Privacy (adhere to Australian privacy principles)
Usability
Copyright
Security
Technical Components
Database - MySQL
Web Communication - PHP
Audience
Dataset - TASS
Servers - Xampp
Attending Trainings
Registration
Creating Events
Navigation
Administration should be able to create separate weekly events that have a specific time on a day, with a student list and specific sport/activity.
Events will have all information saved within a database, admin will need to interact with this database through the website.
Students can scan their barcode IDs to attend an event. Within the app, they can choose if they want to attend this training, Students may need to scan again to sign out of trainings.
Staff/Coaches able to choose an event that they have been assigned to by administration then be able to sign off on student attendances through scanning student cards.
Using TASS, students able to register with TASS details, still will have to create their own password, not data we are given
Confirmation email sent out when registered, unlike other solutions allows students to not take other students accounts
Students: Home, Previous Attendances, Your Sports, Account Details
Coaches/Staff: Home, Previous Events, Upcoming Events, Account Details
Simple navigation bar will always as a base start to the website will have a home page, a one page to do with at least events
Administration: Home, Preview Users, Manage Staff, Manage Events
Students
Staff
Users
Fname
Sname
UID
Password
SID
Scode
House
PC
Year
AID
permissions
Teams
TID
Year Level
Ranking
Sport
TrainingTime
AID
TID
Tdate
TrID
TeamList
TID
SID
Attendance
TrID
SID
AID
Time
Platform - VS code
Hasing passwords using sha1
Salting passwords with username if need be
Sanitize all user inputs
Utilize form POST to keep URL clear and uneditable
Coach
Admin
Student
Create or remove Trainings in the database within the website- includes all details except primary keys within the tables.
be able to login and view training times like students, and have an unregistered view, to view teams like students
Don't have to log in either for general training times, where they can put in their team into a search bar and look up their training times without having to register
Add or remove Staff/coaches from database, choosing who has access to be able to allow students to attend. Also may be able to give organizers specific permissions for specific training events.
Login to view training times, able to see upcoming trainings that week, and possibly a calendar for trainings the entire year
Login and choose a training happening at this time, and be able to collect student attendances through a phone or laptop wit ha barcode scanner.
Safety: all errors are caught, if not the right information is given, users are not allowed to progress, passwords are hidden when typing.
Learnability: quite simple, copies the generic website layout. (E.g.: Navbar at the top.) Little text needed to be read, and all pages are consistent with one another
Effectiveness: Navigation for easy and effective movement, text inputs are short as possible, no unnecessary steps for any forms
Utility: all users should be able to easily and efficiently do what they want to do on the website.
Accessibility: Contrasting colours, Captions for screen readers, responsivity using bootstrap containers
all personal information that is public information already on other terrace websites (e.g. student name, house) can be accessed without logging in, this data does not give anything important away.
All personal information that is not found on terrace websites (e.g. passwords, emails) will not be accessible until one has logged in with credentials. Password will also be hashed so admins cannot see.
Follow terrace style guide including the use of the terrace crest, as permission was given for the use according to copyright laws
when using images off of the internet, such as sports images, use free images.