We recently went on vacation, and we had trouble finding interesting attractions to visit while planning the trip. We also wished that there was a way to save our web searches when we found locations that we wanted to explore further. We decided to create this web application to enhance the experience of people around the world looking to take some time off and dip their toes in the ocean.
What it does
Beach Trip Planner is a web application that allows people to search for different stops to add to their travel itinerary, from restaurants to cafes to tourist attractions. Users simply need to enter the destination city and activity type, and they will instantly have access to highly-rated locations. Users can then save locations that they are interested in, and come back later to the site to view them.
How we built it
We used MongoDB as a database to persistently store saved locations. The React frontend interfaces with a Python Flask server to perform database operations like adding and retrieving locations. The React frontend also utilizes the Google Cloud Places API to find location suggestions.
Challenges we ran into
One of our team members was a first-time hacker, and had never created a web application before. Since all of the technologies were new, it took a lot of time and effort to become comfortable with building out different components of the website.
One challenge we ran into was integrating the frontend and the backend. There were some issues, like CORS errors, that took time for us to research and develop the solution. Additionally, we had to simultaneously work with API calls and state changes to effectively connect the frontend and backend together.
Accomplishments that we're proud of
This was the first time one of our team members ever created a web application. It was challenging integrating all the different parts of this project together but also really rewarding seeing the application build up slowly until it was a fully functioning site. We are proud of learning so many new applicable technologies and being able to create something that can help others as well.
What we learned
We also learned more about MongoDB, since none of us have used it in a hackathon before. This helped us understand the differences between relational and nonrelational databases more, and we learned a lot about provisioning and connecting to a database in the backend.
What's next for Beach Trip Planner
In the future, we will add a login functionality for users to store their saved sites in their personal account. We also plan on categorizing the saved locations and adding a filter functionality, so that users can easily view activities that they are interested in organized by activity type.
We also hope to add a discussion board feature in the future, so that users can share beach destinations that they have enjoyed to a wide audience. This will help future beach-goers gain inspiration during their planning process.