Things to Improve - GideonsPromiseDev/GPMobileApp GitHub Wiki

Login/Sign Up Pages

Currently, when you login or sign up for the first time, there is a delay between you clicking the login/sign up button, and you being taken to the home screen. This is due to Firebase needing to fetch your user profile before authenticating you and allowing you to see the home screen

  • An enhancement to be made in this area would be to implement a loading screen that is shown as the user data is being fetched from Firebase.
  • A tutorial on how to do this can be found here: Loading Widget Flutter

Member Profile Page

The member profile page currently takes a long time to show user profile data when the page loads for the first time. This results in users seeing "loading" in multiple places on the page until the data is fully retrieved from Firebase. If the user views their profile and then navigates away, the profile information is then loaded from Firebase again. This results in slow loading times for the users, and as the application gets more users, these constant calls to Firebase for data each time a user wants to see their profile could lead to unnecessary data usage and costs on your end

  • An enhancement to be made in this area would be to store the user data locally once it's fetched from Firebase the first time. If the data stored locally isn't different from the data stored within Firebase, then the local user profile information can be shown on this page. This should greatly reduce the amount of times user data is retrieved from Firebase
  • Another enhancement that could be made is to load the user profile data in the background, so that the data can be loaded/updated while the user is on another screen such as the Home Screen
  • Here is a video on storing data locally from the official Flutter development team: Managing a Flutter App's Data