Skip to content

ingrettable/StepPets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

github repo badge: frontend github repo badge: backend github repo badge: cloud

Step Pets

Pet Steps

Inspiration

As people who have always had to, and enjoyed, walking to get to places, I was shocked when my dad told me that he had set a step goal for himself... Only 4,000 steps a day. The average person should be walking 10,000 steps a day, and most Americans are not even close to that despite living in large walkable cities. We wanted to create a fun way to encourage people to walk more, and what better way to do that than with a pet that needs to be walked?

What it Does

Step Pets is a mobile app that encourages users to walk more by giving them a virtual pet that needs to be walked. The app uses the Apple HealthKit API to track the user's steps, and the more steps the user takes, the happier their pet becomes. Users can also use the app to chat with their pet, buy accessories for their pet, and join groups with their friends to compete to see who can walk the most steps.

Usage

Running the app

To run the app, you will need to have Flutter installed. You can find instructions on how to install Flutter here. Once you have Flutter installed, you can run the app by navigating to the client directory and running flutter pub get and flutter run.

How we Built it

Frontend

For the frontend of Step Pets, we used the Flutter framework, which is an open-source UI software development toolkit based on Dart. The framework includes a variety of build in widgets and icons that helped our team create a seamless user experience, which was extremely important since GrassToucher is a game. Users are able to easily sign up through gmail, login, view their pet and inventory, shope at the store, edit their profile, and communicate with their pet via a chat.

For the chat feature, the Google Gemini API was utilized. Using Dart, the API was trained to adopt the persona of a fitness pet. This persona includes information about the fitness pet's name and species. Then, a screen resembling a messaging app is presented to users, allowing them to input any prompt for their fitness pet. This prompt is then processed by the Google Gemini API, and a response is provided to the user.

Backend

In the backend, we opted for Go and PocketBase. PocketBase offers various Backend as a Service (BaaS) functionalities that can be deployed locally, including user authentication, SQL database management, and seamless integration with Dart and Go. This integration simplifies the process of making REST API calls.

We used PocketBase to store user data, including registration information, login data, user finances and step count.

Image Generation

Python was utilized to access the OpenAI API for generating prompts to create unique images featuring pets adorned with distinctive hats.

Challenges we ran into

React Native was our initial choice for the frontend, but we ran into several issues getting the UI up and running. We ended up switching to flutter over 4 hours into the hackathon, and we were able to get UI feature parity within an hour. However, getting health data from the Apple HealthKit API was a much greater challenge on Flutter, and took us several more time to get working.

What we Learned

We learned a lot about game design and how to create a fun and engaging user experience. We also learned a lot about the Apple HealthKit API and how to use it to track user steps. We also learned a lot about the Google Gemini API and how to use it to create a chatbot with a personality.

What's next for Pet Step

We want to improve our leaderboards to have weekly challenges where users can compete to see who can walk the most steps.

Acknowledgements

We extend our gratitude to Florassence for providing free pixel art assets for game developers. The store background from the Tiny Pixel Shop pack was utilized in our Store tab, while the grass background from the Pixel Adventure Land pack was used in our Social tab.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •