Inspiration
There are many people that get lost all around the world, especially in large rural/suburban areas. We want to make an app that would make not covering the same tracks as other groups easier in order to have a search team be as efficient as possible in the small time window they're given. We also wanted to expand the idea of the app into a general-purpose tracking/route setting app.
What it does
Let's say a group of people is trying to locate a missing person. The search party can use this app to track where each member has visited to determine what region needs to be visited next. Each person is assigned a different color and their total visited path is displayed on a map.
How we built it
We built it with a Flutter/Firebase tech stack and a lot of care and love. We used the Flutter framework with Dart language as it's well-documented and more beginner-friendly for our less experienced group members. We decided to connect Flutter to Firebase through the Google Cloud Apis. These APIs include the Maps, Nearby Restaurants/Locations, Cloud firestore, Toolkit, and Datastore APIs.
Challenges we ran into
Our initial issue was setting up Flutter for the group members that have never installed Flutter before as the process is long and sometimes confusing. Emulator would crash and the phone would overheat when loading in too many circles, but we fixed this by adding a refresh button to make sure it does not update too frequently. We had to make sure we weren't doing things too inefficiently by parsing too many circles at once.
Accomplishments that we're proud of
We are proud to get the general concept of the app working alongside a live database that can connect to multiple devices at the same time. We were able to use our mobile phones and track, upload, read, and update each of the tracking apps with each other's current location and the path that we have each covered. We were able to see the stored data of each point in the database and get the app running smoothly without any hiccups or slowdowns.
What we learned
We learned Flutter for the first time and how to use map APIs. We learned how to connect these APIs from the backend of the Google Cloud services to our mobile app along with using Firestore APIs to read and write data in our database for user location points. We keep track of the Latitude/Longitude and the color of each point to help us determine which users are which colored markers. We then plan on using this information to let users know which user is which color.
What's next for resQ
The next steps for resQ are to create separate sessions for different searches, expand the number of people that can track at the same time, add path fading over time, and track specific paths instead of all paths at the same time. It may also be possible to adapt the app for indoor buildings. We also wanted the ability to add markers for possible clues and trails, making it easier for multiple people to follow a drawn path.
Log in or sign up for Devpost to join the conversation.