Last summer, my parents were planning a vacation, and they let me be very involved with the planning. Though I had a laundry list of places I wanted to go, I had trouble finding things to actually do when we were there. When I chose a place, I also didn't consider how safe the place was, since I was so focused on merely going to places.

What it does

Trip Oracle is an all-in-one trip information provider that allows you to assess the safety of the area you are going to. Trip Oracle provides you with vital safety information that could be the deciding factor in whether you go or not. For example, if you plan to take a trip to London, Trip Oracle warns you against the many pickpockets there by scaling the Likelihood of theft very high, which indicates to users that going to London will warrant some protective measures. The place of interest viewer is a perfect tool for you to use when looking for things to do once arrived at your vacation destination. The POI viewer queries your locational data and returns many locations of different categories, ranging from food and restaurants to nightlife and views.

How I built it

The Frontend was built entirely out of Flutter due to its simple UI and the ability to create Multiplatform apps with a single codebase. Flutter was also ideal due to its simple implementation of the Google Maps API. The backend was built with Google Cloud Platform. We used server-less functions that are called by the frontend through http post requests, giving input of your locational data, and returning the corresponding information, whether it be safety scores or the nearby points of interest.

Challenges I ran into

We ran into a lot of trouble integrating the backend and the frontend into a cohesive solution. We fixed this by first debugging using a ngrok tunnel, and then we fixed the functions and the request communication. We also had a bit of trouble integrating the google-maps-api into the Flutter frontend, however the problem identified: we hadn't specified the appropriate user permissions in the Info.plist file.

Accomplishments that I'm proud of

We are proud to announce that our app is fully functional, and can query data from any given user location. This was our first time using many of the flutter plugins used for UI and UX. We also learned a lot about querying data and retrieving information through google cloud server-less functions.

What I learned

We learned the functionalities of many of the new flutter plugins used in this app. We also learned a lot about how communication between GCP and flutter work, as well as how to debug seamlessly through ngrok tunnels.

What's next for Trip Oracle

We hope to publish our app onto the App Store so users all around the world can use our app to find vital information about their vacations.

Share this project: