This is an orbital project, with an achievement level of Apollo.
We aim to create a social app that helps to keep elderly’s well-being accountable and that engages them to reduce their loneliness (E.g., Facebook). As the elderly may not be technolgically savvy and may struggle with the use of digital devices, we aim to create an app that is both simple to use and caters to their needs.
We are two Year 1 students that are part of a committee known as Social Innovation from the College of Alice and Peter Tan.
In November 2021, our team went down to the rental blocks in Jalan Kukoh to conduct field research on our community of interest - the elderly living there to empathise with them. We observed that many elderly live in solitude. Thus, we identified two areas for improvements, the first being loneliness and the other being their physical safety and wellbeing.
After connecting with peers from our college, we found elderly communities that would be receptive to the use of technology. This gave us inspiration to embark on a project, to create a mobile application for the elderly which tackles the two issues mentioned above.
-
As an elderly living alone, I want my community leaders to be aware of my daily wellbeing through the attendance taking function (for elderly) and the nominal roll (for community leaders who want to ensure the safety of their elderly).
-
As an elderly living alone, I want to be able to socialise with other available/free elderly within my vicinity.
-
As an elderly living alone, I want to be able to keep up with the happenings within the community through the app’s social feed.
-
As a community leader, I want to be able to inform the Elderly within my community of the Events I planned and the community happenings through the full version of the App.
-
As a community leader, I want to manage the interest groups within my elderly community.
-
As a community leader, I want to keep track of the wellbeing of the elderly community and ensure their safety.
We want to create an app that is toggleable between 2 versions, Full and Lite (similar to trading platforms). The Lite version will be used by the elderly community and consists of simpler functions to cater to their inexperience with technology. The Full version will consist of additional functionalities and will be used by elderly caretakers (Eg. Community Leaders).
Consists mainly of a daily attendance taking feature, a simple social feed displaying community updates, and a chat function (to chat with fellow elderly).
Attendance Taking
Fig. 1, Fig. 2: Attendance-taking feature Wireframe
The app will feature a check in function (Fig. 1) to check on the wellbeing of the elderly. If they are feeling well, they should tap on the happy face to indicate that they feel well, which will then bring them to the Social Feed. Should they be feeling unwell, tapping on the sad face will bring them to the following page (Fig. 2) which allows them to contact their caretakers.To be precise, the App will check for the elderly’s well-being twice a day, once in the morning and once before they sleep within a 12-hours interval. We plan to make the frequency adjustable by the caretaker and the elderly to better suit their needs. If the elderly deviates from their usual check-in timings, they will be reminded every 1 hour to take their attendance. If they do not check-in at their stipulated timings after a fixed amount of hours set by the caretaker, a notification will be sent to the caretaker.
Social Feed
Fig. 3, Fig. 4, Fig. 5: Social Feed Wireframe
The app will feature a Social Feed (Fig 3) to keep the elderly involved and updated on the happenings around the community. In order to cater to the level of tech understanding of the general elderly, we intend to simplify this social feed by creating it solely for the dissemination of information without the common features a Social Feed has (Eg. Upload post function). In addition, the Social Feed allows for elderly to partake in activities happening within their community. They can do so by tapping on the join button (Fig 4) to indicate their attendance for that activity. Once an event has reached max capacity, the user will be informed and they will not be able to tap on the join event button (Fig 5).Chat Function
Fig. 6: Chat Function Wireframe
Another feature of our app is the ability to look up fellow users that are living in the vicinity (Fig. 6) This allows the elderly to connect with others they may relate to based on similar interests and within the same neighbourhood to establish mutual support.- Post updates and create new communities
The administrative portion of the app allows users to post updates and create new interest groups on the Social Feed. This function is reserved for the caretakers of these elderly, as well as more tech-savvy elderly.
2. **Attendance Sheet**
The attendance sheet will contain information on the attendance status of elderly, and includes the following details: whether the elderly have taken their attendance within the day, the indication of their health status within the check-in function, the number of remaining elderly who have yet to take their attendance within that day. # Tech Stack 1. Android Studio (Software Development Environment)
-
Flutter (Software Development Kit)
-
Dart (Programming Language used in Flutter, Frontend code)
-
Google Firebase Firestore (Backend)
-
Google Firebase Authentication (Backend)
Sign in & Sign Up Page
Fig. 7, Fig. 8: Sign In & Sign Up Page
With the end of Milestone 1, we added dummy data of possible elderly users to our database hosted on firebase. This creates dummy accounts which we can use to test our sign-in/sign-up page. After initialising our database on firebase, we connected this database to our app which is coded in flutter using Android Studio. Using this database, we created a sign-in page which matches the respective email and password the user entered to authenticate the user and bring them to their own personalised home page. We have also managed to create a sign-up page which can update our database hosted on firebase when a new user signs up from the app itself. The new user added to our firebase database can then log-in using the log-in page.Updated UI
Fig. 9, Fig. 10: Updated Sign In & Sign Up Page
The design of the Sign In & Sign Up pages (Fig 7, 8) were improved on from Milestone 1. The updated Sign up page (Fig 8) also takes and stores more user details, such as username, user bio as well as the user’s profile picture.Creation of Social Feed
Fig. 11, Fig. 12, Fig. 13: Social Feed and Add Post Page
We created a functional Social Feed (Fig 11, 12) for users to like, comment and share posts. Users can also create new posts (Fig 13) and upload them onto the Social Feed.
Interest Group Page
Fig. 14, Fig. 15: Interest Group Page & Search
The Interest Group Page (Fig 14) was developed along with a Search function (Fig 15) to filter and look up certain Interest Groups instantly. While currently not functional as of yet, we intend for users to be able to subscribe to posts/news regarding a particular interest group upon tapping the plus button for that interest group.User Profile Page
Fig. 16: User Profile Page
We also developed a simple profile page (Fig 16) for the user. This page features the user’s email, username, bio and profile picture as indicated by the user when they sign up (Fig 10).| Manual UI Testing App demo: https://drive.google.com/file/d/1DXxZyHK74tR8egVOUd7hIm8OjyInp52S/view?usp=sharing |
|
|---|---|
| Features | Tests |
| Login Page | Logged in using an account registered on firebase authentication. Firebase_auth prints that the user is logged in. Tried logging in using the same account but the wrong password. Users could not be logged in. Found that there was no maximum failed attempt. |
| Sign Up Page | The “Sign Up” button did not work if not all the fields are filled in. App did not allow a sign up if the email was already used. App requires a password to be more than 8 characters long. The add profile image button correctly works and uploads the images to firebase storage. |
| Add Post Page | Posts correctly uploaded onto “posts” collection on firestore, with the image uploaded to firebase storage. The correct user is tagged to each post. |
| Social Feed | Displays a scrolling feed of posts stored in the collection on firebase cloud firestore as “posts”. Posts displayed on the app immediately after posting. Like buttons and comment buttons work. |
| Interest Group | Displays entire list of interest groups in our interest group data collection Search filter works correctly. Follow interest group button works as well. |
| Profile Page | Profile page correctly displays the information for the logged in user. Sign out button works. |
| Milestone 3 | Finalisation of Attendance Sheet | - Allow elderly to check in upon entering the app - Daily attendance details of the elderly will be reflected within the app |
28 June - 12 July |
| Develop the Interest Group page | - Allow elderly to join new interest groups - Allow admins to upload new posts from their interest group page - Allow admins to create a new community/interest group within the app |
28 June - 12 July 2022 | |
| Develop chat feature | - Match elderly based on their vicinity and their interests - Call feature if the Elderly dislike texting |
4-11 July 2022 | |
| Implement Caretaker dialling function | Feature which pops up if the elderly feels unwell | 11-18 July 2022 | |
| Evaluation Milestone 3: Extensions - Finalise Interest Group Page - Include chat function - Include caretaker dialling function for Elderly that indicate that they are feeling unwell - Include additional language options (Eg. Chinese) |
25 July 2022 | ||
| Milestone 4 | Refinement | Iron out existing bugs | 14-20 August 2022 |
| Evaluation Milestone 4: Splashdown | 24 August 2022 | ||
| S/N | Task | Date | Lip Kuang (hours) | Cheng Jun (hours) | Remarks |
| 1 | Liftoff Day 1 | 9 May 2022 | 2 | 2 | Commenced with design of poster |
| 2 | Liftoff Day 2 | 10 May 2022 | 2 | 2 | Edited poster & created script for video presentation |
| 3 | Liftoff Day 3 | 11 May 2022 | 2 | 2 | Meeting with advisor, edited poster & presentation |
| 4 | Liftoff Day 4 | 12 May 2022 | 1 | 1 | Discussed video presentation & conducted dry run |
| 5 | Liftoff Day 5 | 13 May 2022 | 2 | 2 | Edited poster & video presentation |
| 6 | Liftoff Day 6 | 14 May 2022 | 6 | 6 | Attended Mission Control 1 Workshops |
| 7 | Liftoff Day 7 | 15 May 2022 | 3 | 3 | Learnt Git & Github |
| 8 | Liftoff Day 8 | 16 May 2022 | 3 | 3 | Learnt Git & Github, finalisation of poster & video presentation |
| 9 | Liftoff Day 9 | 17 May 2022 | 2 | 2 | Set up Flutter & Android Studio on own device |
| 10 | Liftoff Day 10 | 18 May 2022 | 4 | 4 | Constructed wireframes on Figma to develop App Interface |
| 11 | Liftoff Day 11 | 19 May 2022 | 3 | 3 | |
| 12 | Liftoff Day 12 | 20 May 2022 | 4 | 4 | Learnt Dart Programming Language |
| 13 | Liftoff Day 13 | 21 May 2022 | 3 | 3 | Attended Mission Control 2 Workshops |
| 14 | Liftoff Day 14 | 22 May 2022 | 3 | 3 | Learnt Dart Programming Language |
| 15 | Liftoff Day 15 | 23 May 2022 | 4 | 4 | Learnt Dart Programming Language, started building app using Flutter and Android Studios using Dart |
| 16 | Liftoff Day 16 | 24 May 2022 | 2 | 2 | Learnt Dart Programming Language, worked on app |
| 17 | Liftoff Day 17 | 25 May 2022 | 2 | 2 | |
| 18 | Liftoff Day 18 | 26 May 2022 | 3 | 3 | Commenced on Milestone 1 Submissions |
| 19 | Liftoff Day 19 | 27 May 2022 | 3 | 3 | Worked on App, Touching up on Milestone 1 Submissions |
| 20 | Liftoff Day 20 | 28 May 2022 | 3 | 3 | |
| 21 | Liftoff Day 21 | 29 May 2022 | 3 | 3 | Finalisation of Milestone 1 Submissions (Poster + Video) |
| 22 | Liftoff Day 22 | 30 May 2022 | 3 | 3 | |
| Total Hours: | 63 | 63 |
Milestone 2 (31 May - 27 June)
| S/N | Task | Date | Lip Kuang (hours) | Cheng Jun (hours) | Remarks |
| 1 | Milestone 2 Prep Day 1 | 31-May-22 | 2 | 2 | Self-Study on Flutter and Firebase |
| 2 | Milestone 2 Prep Day 2 | 1-Jun-22 | 3 | 3 | Self-Study on Flutter and Firebase |
| 3 | Milestone 2 Prep Day 3 | 2-Jun-22 | 2 | 2 | Self-Study on Flutter and Firebase |
| 4 | Milestone 2 Prep Day 4 | 3-Jun-22 | 2 | 2 | Self-Study on Flutter and Firebase |
| 5 | Milestone 2 Prep Day 5 | 4-Jun-22 | 6 | 6 | Met up to discuss and work on project’s various screens |
| 6 | Milestone 2 Prep Day 6 | 5-Jun-22 | 4 | 4 | Self-study on Flutter and Firebase |
| 7 | Milestone 2 Prep Day 7 | 6-Jun-22 | 3 | 3 | Polished up App UI |
| 8 | Milestone 2 Prep Day 8 | 7-Jun-22 | 4 | 4 | Self-study on linking Flutter to Cloud Firestore |
| 9 | Milestone 2 Prep Day 9 | 8-Jun-22 | 3 | 3 | Worked on improving Sign in/Sign up pages |
| 10 | Milestone 2 Prep Day 10 | 9-Jun-22 | 3 | 3 | Worked on Interest Group Page |
| 11 | Milestone 2 Prep Day 11 | 10-Jun-22 | 3 | 3 | |
| 12 | Milestone 2 Prep Day 12 | 11-Jun-22 | 2 | 2 | Watched videos on how to implement Social Media feed with Flutter and Cloud Firestore |
| 13 | Milestone 2 Prep Day 13 | 12-Jun-22 | 3 | 3 | |
| 14 | Milestone 2 Prep Day 14 | 13-Jun-22 | 3 | 3 | |
| 15 | Milestone 2 Prep Day 15 | 14-Jun-22 | 2 | 2 | |
| 16 | Milestone 2 Prep Day 16 | 15-Jun-22 | 1 | 1 | Self-Study, watching of online Videos related to Flutter widgets |
| 17 | Milestone 2 Prep Day 17 | 16-Jun-22 | 2 | 2 | |
| 18 | Milestone 2 Prep Day 18 | 17-Jun-22 | 3 | 3 | Worked on creating Social Feed and feature to upload new posts |
| 19 | Milestone 2 Prep Day 19 | 18-Jun-22 | 4 | 4 | |
| 20 | Milestone 2 Prep Day 20 | 19-Jun-22 | 4 | 4 | |
| 21 | Milestone 2 Prep Day 21 | 20-Jun-22 | 3 | 3 | |
| 22 | Milestone 2 Prep Day 22 | 21-Jun-22 | 2 | 2 | Worked on User Profile Page |
| 23 | Milestone 2 Prep Day 23 | 22-Jun-22 | 2 | 2 | |
| 24 | Milestone 2 Prep Day 24 | 23-Jun-22 | 2 | 2 | Polished up UI for Social Feed, Interest Group Page and User Profile Page |
| 25 | Milestone 2 Prep Day 25 | 24-Jun-22 | 4 | 4 | Tackling Milestone 2 Objectives |
| 26 | Milestone 2 Prep Day 26 | 25-Jun-22 | 4 | 4 | |
| 27 | Milestone 2 Prep Day 27 | 26-Jun-22 | 2 | 2 | Touchup on certain features of the app |
| 28 | Milestone 2 Prep Day 28 | 27-Jun-22 | 3 | 3 | Final touch-ups and submission of Milestone 2 |
| Total Hours: | 81 | 81 |