Travel Itinerary Generator
Inspiration
Traveling is an experience that many cherish, but planning for it can often be overwhelming. With countless events, places to visit, and activities, it's easy to miss out on experiences that could have made the trip even more memorable. This realization inspired us to create the Travel Itinerary Generator. We wanted to simplify the travel planning process by providing users with curated suggestions based on their preferences.
What It Does
The Travel Itinerary Generator is a web application that assists users in generating travel itineraries. Users receive tailored suggestions on events or places to visit by simply entering a desired location and activity type. The application fetches this data using the Metaphor API, ensuring the recommendations are relevant and up-to-date.
How We Built It
We began with a React-based frontend, leveraging components to create a user-friendly interface. Material-UI was our go-to library for the design, ensuring a consistent and modern look throughout the application.
To fetch relevant data, we integrated the Metaphor API. Initially, we faced CORS issues when bringing data directly from the front end. To overcome this, we set up a Flask backend to act as a proxy, making requests to the Metaphor API on behalf of the front end.
We utilized the framer-motion library for animations and transitions, enhancing the user experience with smooth and aesthetically pleasing effects.
Challenges We Faced
CORS Issues: One of the significant challenges was dealing with CORS when trying to fetch data from the Metaphor API. This required us to rethink our approach and implement a Flask backend to bypass these restrictions.
Routing with GitHub Pages: After adding routing to our React application, we encountered issues deploying to GitHub Pages. It took some tweaking and adjustments to the base URL to get it working seamlessly.
Design Consistency: Ensuring a consistent design across various components while integrating multiple libraries was challenging. We had to make sure that the design elements from Material-UI blended well with our custom styles and animations.
What We Learned
This project was a journey of discovery. We learned the importance of backend proxies in handling CORS issues, the intricacies of deploying single-page applications with client-side routing, and the power of libraries like framer-motion in enhancing user experience. Moreover, integrating various tools and technologies taught us the value of adaptability and problem-solving in software development.
Conclusion
This journey was like a rollercoaster - thrilling highs and challenging lows. We discovered the art of bypassing CORS, the nuances of SPAs, and the sheer joy of animating everything! It reinforced our belief that we can create solutions that make a difference with the right tools and a problem-solving mindset. We're excited to see how travelers worldwide will benefit from our application, making their travel planning a breeze!
Acknowledgements
- Metaphor API for the search engine.
- Material-UI for styling.
- Framer Motion for animations.
- Express API hosted on Google Cloud.
- React.js for web framework.
Built With
- express.js
- framer
- google-cloud
- material-ui
- metaphor
- node.js
- openai
- react

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