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.