Welcome to ItinerAI, a travel companion app that leverages artificial intelligence to generate detailed itineraries for your planned trips. The app is developed by using React and Node.js for the frontend, along with Express and PostgreSQL for the backend. ItinerAI integrates with OpenAI and Google Maps/Places APIs to provide a comprehensive travel experience.
To engage with the app, simply follow these steps:
-
Sign up: Create a secure account by registering with us. We prioritize user's information safety and use password hashing techniques to protect your information.
-
Log in: Once registered, log in to your account using your credentials.
-
Enter Destination: Upon logging in, you will be prompted to enter your desired destination using a form that utilizes Google's autocomplete API to ensure accurate and efficient input.
-
Provide Trip Details: Specify the number of days, budget, and interests for your trip. These inputs will be used to generate your personalized itinerary.
-
Generate Itinerary: Once you have provided the necessary information, our app will generate a comprehensive itinerary tailored to your preferences. You will be presented with a modal containing a map which displays suggested activities and restaurants marked with pins. Additionally, a detailed list will guide you through each day of your trip, highlighting recommended activities. The itinerary also includes suggested accommodation, complete with address and rating.
-
Explore Map Details: Clicking on each pin on the map will reveal more information about the corresponding location. An information window will display the name, address, rating, and a picture, enabling you to easily locate and identify these places during your trip. To minimize confusion, only the locations for each specific day are shown on the map, and you can toggle between days using the provided buttons in the list.
-
Save Itinerary: If you are satisfied with the generated itinerary, you have the option to save it for future access with the provided save button at the end of the list. All saved itineraries can be accessed from the "My Itineraries" page, available exclusively to logged-in users.
-
Manage Saved Itineraries: The "My Itineraries" page provides an overview of all your saved itineraries. Each itinerary is presented with the city as its name and an accompanying image that is sourced from the Google Maps/Photos API. If you no longer wish to keep an itinerary, a trashcan button allows you to easily delete it from the list.
By no means the ItinerAI is a complete app. There are many improvements that are possible for the app to improve its functionality and efficiency. Here are some key areas can be worked on in the future updates:
One of the challenges that we faced in development was the time it gets to generate the itinerary which is mostly due to OpenAI response time. However, this issue can be improved by tweaking the prompt sent to the API or migrating to the more advanced models of the AI
It is important for each user to be able to effortlessly share their travel plans with friends, family, or travel companions. To implement this, a "Share" feature that will allow you to export your itineraries as shareable links or PDF files can be added to the app to accomplish this task.
In future updates, a feedback mechanism can be added that enables users to provide direct feedback on the suggested activities, restaurants, accommodations, and other itinerary elements. This feedback will be used to improve the precision and accuracy of the generated itinerary based on the users’ needs and interests.
Install dependencies with npm install
in each respective /frontend
and /backend
.
cd frontend
npm start
Read backend/readme
for further setup details.
cd backend
npm start