Going for a walk is one of the best ways to get some fresh way and reconnect with the world around you, especially during times like this. Our team realized that instead of taking the same path everyday, this is the perfect opportunity to tap into our adventurous sides and explore our communities. We want to inspire everyone to spend more time outside reconnecting with nature.
What it does
Trek creates personalized routes for you to explore your community, and it displays them to showcase all of the treks you’ve taken. After inputting your target distance and points of interests (parks, lakes), Trek shows you possible routes you can take on your daily walk. This way, you can achieve your target walking distance, visit natural spots, and explore new areas all at once.
How we built it
We built this using React Native for our frontend and Flask for our backend. We used Google Maps, Places, and Directions APIs to generate and display the routes. On our mobile application, we displayed the maps and accessed current locations using react-native-maps and expo-location libraries. On the backend, our route-generating algorithm factors in the points of interest and distance to build the unique route. It does this by including waypoints that consist of the points of interests along with nearby randomized locations.
Challenges we ran into
For one, because it was our first time building a React Native application, one of the biggest challenges we faced was actually learning the framework. This resulted in a lot of time spent learning about navigation, networking, hooks, state, and more. Thus, setting up the networking between our mobile app and our backend API proved to be a challenge. In addition, the backend server was challenging to create; designing randomized yet personalized routes required unique and creative solutions.
Accomplishments that we're proud of
We are proud of completing the goals we made for this hackathon. We were not only able to learn React Native, but also complete the core features of the mobile app. Most importantly, we are proud that we finished strong at our first hackathon.
What we learned
We learned React Native and its many features (hooks, navigation, etc.). Because we have not developed mobile applications or used React.js, this was a new experience for us. We learned how to debug and test our application, as well as network with our API server deployed elsewhere.
What's next for Trek
Next, we want to implement the ability to connect with friends and view their maps of completed routes. We also want to consider implementing a feature that displays the percentage of the community that has been explored.