Picture this: You're happily strolling through the commercial district of a metropolitan area when you're suddenly hit with the urge to use the restroom. You look around, but all you see are shops and public areas. You don't want to barge into some place only to use their facilities to relieve yourself. That's when restroomFinder swoops in and saves the day.
What does it do?
restroomFinder takes your current location and pinpoints the restroom locations around you as markers on Google Maps.
How did we build it?
We used Android Studio to create the Android application. We then used Google Maps and Location APIs to retrieve the current location of the user and plot it on Google Maps. Moreover, we used Firebase to store the locations, descriptions, and ratings of restrooms/public facilities. This choice facilitates easy access to the data, allowing for quick plotting of restroom locations on Google Maps.
What challenges did we face?
None of the team members had prior experience using Android Studio or developing android/mobile applications. In addition, we had little to no experience in dealing with complex APIs, especially with Google Maps and Location APIs.
Why is this awesome?
Even with our minimal knowledge, we were able to whip up something useful while learning throughout the entire experience. I was especially proud of my team because we worked together to split up the work and each learn a different aspect that was needed for the final product.
What did we take away from this experience?
In no particular order, we: 1) How to use Android Studio 2) Android development (intents, activities, onClickListeners, etc...) 3) How to use Google Maps and Location APIs, Firebase, and preexisting tools to build powerful applications 4) The necessity of planning out projects so that each member of the team can efficiently work on the project together 5) Different aspects of software development and how they combine to form the finished application (front-end/UI/back-end)
What's next for the future of "toiletsourcing"?
1) Using crowd-sourced information to create a more thorough database of restroom locations for users 2) Implementing a rating system that allows users to rate the restroom locations (downvote fake/worn-down locations and upvote helpful/clean locations). 3) Expanding the reach of the application to include water fountains, street performers, food vendors, public events, etc... Essentially, this application mimics a "live yelp" 4) Add in "get directions to nearest restroom" option so that users can easily navigate 5) AR capabilities: arrows point in the direction one has to walk to get to get to the locations 6) Implementing a leaderboard with captivating badges and prizes to incentivize public data input