Overview

GoBabyGo is a grassroots organization centered around the modification of off-the-shelf ride-on-cars to provide an alternative to traditional powered mobility devices for children with motor disabilities. For this project, I worked on a team with four other Oregon State Students in order to improve the communication and socialization between members and families involved with GoBabyGo and to provide a central organized location of information for GoBabyGo with the development of a cross-platform mobile application, available for both Android and iOS users.

Github

Go Baby Go

Demo Video

Go Baby Go Demo

Technology

Flutter

Firebase

XCode / Android Studio

Figma

Roles and Responsibilites

My main responsibilities for this project included the app design, database design and implementation, and the timelog and edit goals pages of the application. Application design was divided up among team members and then discussed together to come up with the final design. Weekly meetings with our project partners were used to discuss the designs during the initial phase of the project. For the design of the database, I worked on creating a database that would best utilize the required information we wanted to store. Since we chose to work with firebase realtime database which is a NoSQL database, data was structured as a json object. My contributions to the application’s front-end development include the Timelog page and the Edit Goal page where users can go to record the time spent on an activity and set their weekly time goal. Screenshots of these two pages are below.

screenshot of timelog page
screenshot of edit goal page

Tools Used

In order to implement the Realtime Database, we made the decision to use Google’s Firebase Realtime Database which implements a JSON Tree as the main structure. The Realtime Database from Firebase met our technical requirements and was a necessary tool in order to move the project forward.

Because we needed to implement a cross-platform smartphone application, we needed to utilize both Android Studio and Xcode in order to verify that the application was working properly on both Android and iOS. The Android Studio Suite of tools comes with an Android Virtual Device (AVD) Emulator that we used to test the application on an Android platform. As far as the implementation of Dart and Flutter Software Development Kit (SDK) Android Studio made it very simple to set up the SDK and utilize flutter commands within the terminal in Android Studio.

In order to develop our application for iOS devices, we needed to make changes to the code via Xcode, Apple's integrated development environment for macOS. While most of our implementation was done through Android Studio, we used Xcode for various iOS specific changes.

Figma was utilized extensively throughout the design process of the application. During development phase, the high-fidelity Figma prototype was crucial to ensure consistency within our app. It was also really beneficial to have in order to show our project partner what their application would look like at the conclusion of the capstone project process.

Learning Outcomes

This project allowed me to create a full project from start to finish. It taught me a lot about what it takes to work on a team of software developers and how to communicate effectively with them and our project partners. Additionally, I learned new tools and technologies. Prior to this project, I had never worked with mobile app development. I now feel comfortable using xCode, Android Studio, Flutter, and NoSQL databases.

Further development still needs to be done in order to get this app ready for the app store. Currently, I am continuing to work on the app and help with it's transition to a new group of students next year.