Incremental Deliverable 3 Requirements Document - SeoulSKY/safe-zone-system GitHub Wiki
Requirements
- All requirements gathered by talking with the stakeholder this deliverable
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
Derived Requirements