--- tags: Implementation --- # Android App Implementation Plan --- GIT - Jeder macht einen personal branch auf dem man Features entwickelt - Wenn die Features fertig sind mergt man sie auf den master branch ### Additional TODO: Niko - [x] Tabbar etc - [x] Home Screen - [x] Companion TODO:Ela - [x] Help screen - [x] Notification TODO: Noah - [x] Entry stuff - [x] Questionnaire - [x] Mood Survey - [x] Settings Screen ### Data - [x] /FR-2-1-1/ The history of consent forms is stored on the server - [ ] /FR-2-1-2/ Apps should always have updated information, but shall not update the consent forms that the user already agreed to - [x] /FR-2-1-3/ User data will be available to the administrator in a CSV data file (every participant in a separate row and participants names shouldn’t be in the file but identifiers instead) - [ ] /FR-2-1-4/ Unanswered notifications shall be rows inside the data file which don’t contain data and they shall be marked with a voluntary flag ### Other - [x] /FR-1-2-2/ The app retrieves settings from the server after a new user logs in for the first time, or through a push notification from the server - We request data whenever we need it so it's always up to date ### Entry & Account TODO:Noah - [x] User sees a calendar on the home screen - [x] User can edit their nickname - [x] User can upload profile photo - [x] /FR-1-1-1/ The user can create a new moodey account using a valid e-mail-address via the app - [x] /FR-1-1-2/ After creating an account via app, the user will be asked to fill-out a consent form and some questionnaires - [x] Questionnaire Sequence is completable and results are uploaded - [x] Questionnaire Sequence is started after entering logged in state with questionnaires unanswered - [x] Questionnaire Sequence contains all required questions - [x] consentForm is displayed and result is stored in server - [ ] Questionnaire Sequence start respects displayDelayAfterAccountCreationInDays - [x] /FR-1-2-1/ The user can log-in to their existing account with their created credentials - [x] /FR-1-1-3/ The user can change their account’s password - [x] /FR-1-1-4/ The user can delete their account - [x] /FR-1-2-3/ The user can log out of their account ### Survey ...TODO:Noah - [x] Companions selection question - Can search companions by nickname that user has given them - [x] /FR-1-6-1/ Surveys allow the user to record their mood on a five-point scale in one dimension - [x] /FR-1-6-2/ A label is located at each extreme of each scale of the surveys - [ ] /FR-1-6-3/ At the left end of the mood scale of the surveys it says ‘Very negative’ and on the right ‘Very positive’ - [x] /FR-1-6-4/ Analogous to mood, stress will also be recorded on a five-point scale in one dimension - [x] /FR-1-6-5/ On the left end of the stress scale of the surveys it says ‘Very relaxed’ and on the right ‘Very stressed’ - [x] /FR-1-6-6/ The user may specify the companions that they interacted with recently in every survey - [x] /FR-1-6-7/ The user may specify in a survey, that they haven’t interacted with any companions recently - [x] /FR-1-6-8/ The user can use a searchable list of people to specify that they recently interacted with the specified person when answering a survey (display name and display picture) - [x] /FR-1-6-9/ The search of companion in a survey can be done by both the nickname and the actual name of the person - [x] /FR-1-6-10/ The user may indicate in a survey that they have recently interacted with a companion by tapping on their display name/picture - [x] /FR-1-6-11/ Companions that have been selected in a survey to specify interactions, can also be deselected - [x] /FR-1-6-12/ The user has to tap a button to confirm the selection of recent interacted companions in a survey - [x] /FR-1-6-13/ When answering the first survey of the day, or when answering a survey which was started by entering the app manually, one extra screen – special situations - is displayed at the end of the survey - [x] /FR-1-6-14/ In the extra screen ’special situations’ in a survey, the user may select from a set of special situations, and whether the situation is positive or negative - [x] /FR-1-6-15/ Special situations can be: ‘Work/Study’, ‘Family, ‘Partner related’, ‘Health’, ‘Other’ - [x] /FR-1-6-16/ In the extra screen ’special situations’, the user may also specify that no special situations have occurred - [x] /FR-1-6-17/ When the user starts a mood survey, location services (GPS) will turn on briefly for the user and for and all of their companions - [x] /FR-1-6-18/ The distance between the user and their companions will be recorded quickly when the GPS is turned on at the start of a mood survey - [x] /FR-1-6-19/ Survey data is marked with a time-stamp - [x] /FR-1-6-20/ Survey data is marked with a flag, indicating whether the survey was triggered by a reminder notification or not ### Help screen TODO:Ela - [x] /FR-1-3-1/ The user can access a built-in help-tool in the app, that provides information about the functionalities of the system ### Companion screen and interactions ...TODO:Niko - [x] Change relationship (at most once) - [x] Give companions nicknames (should only be stored locally according to Project Description) - [ ] /FR-1-4-1/ The user can invite people via app to join moodey by e-mail - [x] /FR-1-4-2/ The user can share a ‘unique user code’ so other users can add them as a partner, friend, family member, coworker, roommate or other - [x] /FR-1-4-3/ Sending an app-invite forces the user to label the ‘relationship’ they have with the invited person - [x] /FR-1-4-4/ Accepting an invite forces the user to label the ‘relationship’ they have with the inviting person ### Notifications ...TODO:Ela - [ ] /FR-1-5-1/ The app reminds the user randomly, multiple times a day, to start a survey - [ ] /FR-1-5-2/ The frequency and time range for the notifications are obtained from the server - [x] /FR-1-5-3/ The user can press a button in the app to start a survey - [ ] /FR-1-5-4/ Survey data is locally recorded and eventually synchronized to the server - [x] /FR-1-5-5/ The user can’t add, edit, or erase their collected mood data from the past ### Visualization - [x] /FR-1-7-1/ The app allows the user to visualize their mood and stress changes during the last day or during a user-specified time range - [x] /FR-1-7-2/ The in-app data visualization uses a graph with two axes to visualize user data - [x] /FR-1-7-3/ The y-axis of the in-app data visualization represents mood/stress level from 1 to 5 and the x-axis represents time - [ ] /FR-1-7-5/ In the case of a single day visualization in the app, the units of this x-axis shall be hours of the day - [ ] /FR-1-7-6/ In the case of a different time range than one day of the in-app data visualization, the units of the x-axis may also be days, weeks or months, depending on the length of range the user chooses - [x] /FR-1-7-7/ The user can turn on and off the visualization of the mood and stress if desired - [x] /FR-1-7-8/ After the experimental cycle has passed, the user may also view their companions’ data - [x] /FR-1-7-9/ The user will be notified once their companions’ data is available - [x] /FR-1-7-10/ The user can turn the visibility of their companions’ data off or on ### WebApp - [ ] /FR-2-2-1/ The administrator can log into the web interface using the administrator password - [ ] /FR-2-2-2/ The administrator can modify the administrator password - [ ] /FR-2-2-3/ The administrator can modify system settings dynamically - [ ] /FR-2-2-4/ The administrator can modify notification frequency - [ ] /FR-2-2-5/ The administrator can modify the time range for when notifications are sent - [ ] /FR-2-2-6/ The administrator can select the time range of an experimental cycle - [ ] /FR-2-2-7/ The administrator can modify the consent form text - [ ] /FR-2-2-8/ The administrator can download all available user data - [ ] /FR-2-2-9/ The administrator can download a subset of available user data (e.g. time range) • /FR-2-2-10/ The administrator can archive a subset of the user data