Inspiration
The inspiration for this project stems from Pokemon Go, a mobile game. In the game, there are raids, which are difficult encounters that require multiple players to gather to win. Virginia Tech has a discord server where, whenever a raid spawns, players can list the level of the raid, time, location, their interest, and what time they intend to begin the encounter. I wanted to build a native app that was a more generalized version of this.
What it does
This app opens a map UI that allows users to place a marker on the map, along with a custom label to mark the time of the meeting.
How I built it
I built this app using Android Studio Project, Flutter (programming language for both Android and iOS), and Dart, as well as implementation of the Google Cloud Platform's Maps API.
Challenges I ran into
I ran into a LOT of challenges. I had never developed a mobile app before, and I had to learn Flutter from scratch. Learning the syntax was one of the biggest challenges because I was used to working with Python and Java, whereas in Flutter, everything is a Widget. Other problems I ran into was:
- The map refreshing every time you switched the tab away from it, deleting existing markers.
- Markers being placed every time the user tapped a location on the map (this was a problem because I was unable to implement a way to remove markers due to Flutter being mostly, but not completely, supported by the Google Maps API.
- Trying to add Firebase to my code, screwing up the dependencies within the project, and causing my code to completely brick. After trying to switch back to the code from before I added Firebase, the code is able to run, though it now sometimes causes the emulator to crash...
Accomplishments that I'm proud of
I'm proud of how fast I was able to put together a Flutter application, even though it has very limited functionality. I was able to learn how to use Google Maps API, and I went to several workshops and learned about Google Cloud Platform and Firebase. I'm also proud of how I solved seemingly simple problems, such as adding a marker only when the user selects the button to add a marker.
What I learned
I learned how to use the basics of Flutter to create an app, as well as how to implement Google Maps through an API. I also learned the very, very valuable lesson of using GitHub to store a backup of files to avoid the case I ran into where an additional feature resulted in the product being worsened.
What's next for HokieNation
There's a lot left to implement for this project. I want to include a login / registration page for users, implement the chat functionality and settings page, allow for the removal of markers, allow markers to permanently show their labels without the user needing to tap on them, and adding each marker event to a list for users' to more easily view.


Log in or sign up for Devpost to join the conversation.