People all over are sick of quarantine, and looking to travel. In order to stay safe while traveling, more and more people are going on road trips to places like state and national parks.
While traveling, people are struggling to find something we used to take for granted, public bathrooms. With lockdowns and restrictions varying between every state, county, and business, it can be hard to tell if places like gas stations and restaurants are open. Everyone needs to use the bathroom, and our app is designed to fill that need.
What it does
Toilet Tracker crowdsources the location and status of public bathrooms in order to allow travelers to know where to go when they need to go.
Users mark locations on the map, along with information like a star rating and if there is a fee to use the bathroom. By crowdsourcing this information, we get real-time updates of bathrooms all around the world and create a network of Toilet Tracking Travelers helping everyone around them.
How we built it
To allow us to build a cross platform application that anyone can use from any device, we created Toilet Tracker in Flutter. This allowed us to build the app for both Android and iOS. Toilet Tracker can also be run as a web app or a desktop app in the near future once Google Maps for Flutter supports those platforms. For the database and back end, we used Firestore, which allows us to scale our database up and handle as many users as are using the app. Finally, we used Google Maps to power the building detection to identify where on the map a user tapped, and power the location search behind the scenes.
Challenges we ran into
While we've done a few Flutter projects in the past, Flutter 2.0 came out in the beginning of this month. There were just enough changes that we had to recreate the app halfway through the hackathon because the libraries we were using required Flutter 2.0, but our developer environments were initially configured for Flutter 1.6 or so. It also took a chunk of time for us to handle permissions, because each different platform required different sets of configurations for API keys, GPS permissions, etc.
Accomplishments that we're proud of
Despite needing to restart halfway through the hackathon, we still got everything that we wanted to in a state that we could demo.
What we learned
We learned a lot about Flutter 2.0, as well as a lot about working with maps and real-time data.
What's next for Toilet Tracker
Because we built the application in Flutter, we'd love to be able to support a web app and desktop apps as well as the mobile app once some of the libraries we are using support that as well. We'd also like to take a look at caching, so see if we can provide a way for users to use Toilet Tracker when they are offline, then sync their reviews and the latest information from the database when the come back online.