01. Requirements - akyagmur/SWE599-term-project GitHub Wiki

Requirements

Login&Registration

  • The application shall allow users to register using their mobile phone number and force to verify it using OTP.
  • The application shall ask users to provide their name, age, phone number, email address and password during registration.
  • The application shall allow users to login using their mobile phone number and password.

Profile

  • The application shall allow users to select their profile picture from the gallery or take a new picture using the camera.
  • The application shall allow users to change their password, email address, phone number, and name.
  • The application shall allow users to reset their password using their mobile phone number.
  • The application shall allow users to add their most used top 5 addresses.

Emergency Contacts

  • The application shall allow users to add their family members as emergency contacts with their name, phone number, and relationship information.
  • The application shall ask permission from users to access their contacts and allow them to select their emergency contacts from their contacts.
  • The application shall notify family members and ask their permissions when a user adds them as an emergency contact.
  • The application shall allow users to remove their emergency contacts.

Safety Status

  • The application shall allow users to respond to their emergency contacts' requests.
  • The application shall allow users to request their emergency contacts' safety status.
  • The application shall allow users to report their safety status by selecting one of the predefined options: Safe, Unsafe, and Injured.
  • The application shall allow users to report their safety status by typing a custom message.
  • The application shall send notifications to the user to inquire about their status 10 times, once every 12 hours, in the event of a disaster.
  • The application shall inform users' emergency contacts about users' response to automatic notifications sent by the application via in app notifications.
  • The application shall send notifications as text messages to users' emergency contacts when internet connection is not available.

Administration

  • The application shall allow the administrator to mark a disaster area on the map.
  • The application shall allow the administrator to mark a disaster area by selecting city, district, or neighborhood.
  • The application shall allow the administrator to send push notifications to users in the disaster area to check on their safety.
  • The application shall allow the administrator to select frequency of sending push notifications to users in the disaster area.
  • The application shall allow the administrator to select the time of sending push notifications to users in the disaster area.

Location

  • The application shall ask permission from users to access their location.
  • The application shall keep users' location info every 24 hours for last 100 days.
  • The application shall allow users to share their locations with emergency contacts as current location on a map or coordinates.
  • The application shall allow users to request their emergency contacts' locations.
  • The application shall allow emergency contacts to see users' last known location on a map.