Before, I have always had to call or text someone to ask them where they are on a trip. With a group of many people, it would be even harder to keep track of everyone by calling and texting many people. Also, without their contact information it would be impossible to know where they are at all.
What it does
Group Vision is a location sharing app that lets you see all your friends real-time on a single map. The process is fast and intuitive - simply create a username and you’re in! No need to login or create an account. Instantly create groups with an automated 4 digit group code! Join groups by entering in an existing group code. Check when their locations were last updated so you’ll know if your friends went off the grid! Control when you want your location to be tracked - Group Vision will be disabled when you close the app!
How I built it
To build this app, I used Firebase Anonymous Authentication so that users could simply enter in a username and get started without the hassle of making an account. Then, I set up the Firebase Database to have groups under my own automated unique 4 digit group code. Once I created the group functionality, I added Google Maps API and location services on my app. With location services, I simply put the locations of group members under the group in Firebase Database and displayed them on the map using customized markers. Lastly, I added a feature in which the app recorded the time the location was last updated for each member and displayed it under the name.
Challenges I ran into
A huge challenge I ran into was making my app different than other apps, such as Find My Friends, a tough competitor. I thought about adding more features, but I decided in the end to focus on a simple, easy to use app. With the anonymous sign in meaning that users did not have to go through the steps of making an account and the automated group code allowing users to make temporary groups without sharing contact information, I made my app as simple as possible so that it would be different than Find My Friends and easier on users.
Accomplishments that I'm proud of
I am very proud of being able to display many locations on a map and update them real-time using Firebase Database. Through many revisions, I was able to create a more efficient way to generate my own unique 4 digit group code and organize everything on Firebase Database.
What I learned
I learned how to use Firebase and its internal workings, as well as manipulate snapshots received into the data I needed. I also learned how to use error handling to make sure that my app did not crash. After displaying Google Maps locations of the user and people in the group, I now know how to use Google Maps and integrate Firebase with Google Maps.
What's next for Group Vision
I have many ideas for new features to add for Group Vision:
- Group list - Tap Name to go to their location. Bar similar to Slack App
- Indicate Meetup Locations
- Meetup Notifications
- Joining Multiple Groups
- More Security for Groups - Password
- Group Leader - Ban People From Groups
- Group Expiration Time - set by leader or member
- Customizable Location Dot
Share Group Code Using IMessage/text
Based on feedback from the app store, I would either work on a group list where you can see all the members in your group, or be able to indicate meetup locations.