Incremental Deliverable 4 Requirements Document - SeoulSKY/safe-zone-system GitHub Wiki
We started on the risk assessment and safeplan, we ended up decided against spending anymore time on it since they aren't going to be implement due to time.
Non-Functional Requirements
General Requirements
The software must be available as an Android App
The software must be available as an iOS App
The software must be available as a Website
The software must have an 99% uptime
The software must support at minimum 1000 daily users
Functional Requirements
App Requirements
The mobile app must cache relevant information
The mobile app must indicate if it is in offline mode
The mobile app must used cached data if an internet connection is not available
The mobile app must allow for the creation of message in a bottle in offline mode
The mobile app must send any message in a bottle to the server upon reconnecting to the internet
User Requirements
Users must be able to create accounts
Users must be able to create an account using single sign on
Users must be able to login to their account
Users must be able to logout from their account
Users must be able to delete an account
Users must be able to verify their email
Users must be able to recover their account
Admin Requirements
Admins must be able to add emails to an approved list of emails to be "message in a bottle" recipients
Admins must be able to remove emails to an approved list of emails to be "message in a bottle" recipients
Admins must be able to edit emails in a approved list of emails to be "message in a bottle" recipients
Admins must be able to create new admin accounts
User Configuration Requirements
Users must be able to configure a toggle for using current location information
Users must be able to configure a toggle for auto logout on app close
Users must be able to configure a toggle for sending warnings if a "message in the bottle" will be sent
Users must be able to configure a duration remaining before sending a warning for "message in a bottle"
Users must be able to configure a toggle for requiring 2 factor authentication to be able to use the software
Users must be able to configure a toggle for requiring personal verification questions to be able to use the software
Users must be able to create personal verification questions
Users must be able to edit personal verification questions
Users must be able to delete personal verification questions
Server Configuration Requirements
System Administrators must be able to configure the maximum amount of "messages in bottles" that can be created by a single user
System Administrators must be able to configure a mail server to use to send emails from
System Administrators must be able to configure an email address that is used to send emails
"Message in a Bottle" Requirements
Creation Requirements
Users must be able to create "message in a bottle"
Users must be able to cancel "message in a bottle"
Users must be able to have multiple "messages in bottles" at the same time
Sending Requirements
Users must be able to immediately send "message in a bottle"
Users must be able to schedule a time for the "message in a bottle" to be sent.
Users must be able to send a "message in a bottle" to multiple different recipients
Users must be able to send "message in a bottle" to email addresses
Users must be able to select an approved approved email addresses to send a "message in the bottle" to
Users must be able to send "message in a bottle" to phone numbers via SMS
Users must be able to send "message in a bottle" to other users of the app
Content Requirements
Users must be able to change the message in the "message in the bottle"
Users must be able add their last known location to the "message in a bottle"
Configuration Requirements
Users must be able to create templates for "message in a bottle"
Users must be able to update templates for "message in a bottle"
Users must be able to delete templates for "message in a bottle"
Users must be able to save contacts to send "messages in bottles" to
Users must be able to update contacts to send "messages in bottles" to
Users must be able to delete contacts to send "messages in bottles" to
Risk Assessment
Creation
Admins must be able to create risk assessments
Admins must be able to edit risk assessments
Admins must be able to delete risk assessments
Questions
Functionality
Admins must be able to create questions for a risk assessment
Admins must be able to edit questions for a risk assessment
Admins must be able to delete questions
Scoring
Questions must be able to be mapped to a category
Questions must be able to be mapped to multiple categories
After completing a quiz, a summary of the categories must be available
Answering
Users must be able to answer questions in the risk assessment
Users must be classified into categories based on their responses to the risk assessment
Safe Plan Creator
Creation
Users must be able to create safe plans
Users must be able to edit safe plans
Users must be able to delete safe plans
Users must be able to create multiple safe plans
Information
Safe plans must have a text field for need/cause
Safe plans must have a text field for goal
Safe plans must have a text field for activity
Safe plans must have a text field for person responsible
Safe plans must have a text field for follow-up
Safe plans should prompt to create a message in a bottle and/or message in a bottle template
Risk Assessment
Based on the results of the risk assessment, the safe plan creator must suggest categories to make safe plans for based on risk factors