Inspiration

Our idea came from a desire to live a healthier life and encourage others to do so as well. As college students with busy schedules, we understand how hard it may be to exercise daily and eat healthy when school and other obligations are constantly on our mind. We wanted to make living a healthy lifestyle attractive by turning it into a progression game: the longer you maintain a healthy lifestyle, the greater you're rewarded. Thus, Fantasy Fitness Quest was born.

What it does

Fantasy Fitness Quest is an app that aims to make taking care of yourself fun by turning exercise and healthy eating into an RPG game. Connect your Google Fit account and input what you eat daily to make your character hit harder and survive longer. Then, use your newfound strength to vanquish your foes in the Battle screen.

How we built it

Our mobile app was built with React Native. We used the Google Fit API to obtain user's step data and Spoonacular API to obtain nutritional data for foods. To handle user authentication and user preferences, we used Firebase and its Realtime Database. We also worked extensively with Android Studio and Android emulators as we are only targeting Android devices for now.

Challenges we ran into

By far the most significant challenge we faced, was integrating the spoonacular API with React Native Camera in order to capture and categorize food images. We managed to do each part separately, making successful API calls and taking pictures using React Native Camera, however, we were unable to make API calls using RNcamera due to non-matching types between the output of RNcamera and the API requests. We tried hosting our images on firebase, converting from uri to base64, and base64 to a binary file in multiple ways before deciding that it would be more practical to change our approach and finish the application. So instead of taking pictures to make API calls to spoonacular, we decided to take text input from the user and display nutritional information based on that. Another challenge we faced was working with different, clashing, versions of various react libraries and merging them. We managed to successfully complete our project after hours of uninstalling and reinstalling libraries.

Accomplishments that we're proud of

These past 24 hours presented many challenges and opportunities to overcome them. We are proud of our application's simple and clean design, highlighting our best features, the home, and battle screens. Our battle screen featured a modal component serving as the battle interface. We are proud of our time management skills and the decisions we made to deliver the best product according to our current abilities.

What we learned

We learned a lot about how Google's OAuth 2.0 works in order to use the Google Fit API. We also learned that there's a lot we don't know about development: many features which we thought would be easy, such as sending an image in the body of a POST request, ended up taking more time than it was worth. In the future, we will aim to be more prepared by conducting preliminary research on the technologies we may use for our projects.

What's next for Fantasy Fitness Quest

As FFQ is partly an RPG game, we would love to expand on its mechanics. For example, being able to purchase or upgrade new spells by walking a certain amount of steps, or adding more and more challenging foes for players to face. We would also like to revisit the camera feature and potentially add it in a future release. Lastly, a bit of polish on the app overall would benefit user experience greatly, such as adding animations between screen transitions.

Built With

Share this project:

Updates