ItineratR is an itinerary creation website that helps people of all ages find, plan, and enjoy their vacations. Simply enter your origin, age, budget, departure date, and return date and Itineratr will give you a variety of popular vacations and itineraries for you to choose from. These itineraries are either generated for you based on the information you provide, or are submitted by other users who are local planners in the areas you might want to vacation in. The goal of our project is to make planning vacations with fixed budget fast, easy, and enjoyable.
- Users input budget, where they are travelling from, travelling party size, etc...
- User details are processed through a machine learning (random forest) classifier to recommend travel destinations
- Various APIs, including Amadeus, Google Places, and Yelp, are leveraged to gather details about flight, hotels, food, etc.
- Users can create itineraries for their local areas to share with others
To deploy this project on your own machine, you need a few dependencies installed. First, this is a Node.js project so you need Node.js installed.
You also need to acquire API keys from the following services, then place them in the config/config.js file.
To enable the recommender system, a Microsoft Azure api key needs to be placed in config.js
For the database, we are using MongoDB. Make sure this is installed on your machine and that the
mongod process is running
Once all the above dependencies have been met, run the following to start the server on port 3000
$ npm install $ npm start
navigate to localhost:3000 to test out the website
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
- Microsoft Azure
- Amadeus API
- Google Maps API
- Google Place API
- Yelp API
- SITA AIRPORT API
Running the tests
Make sure mocha is installed on your machine. You can install with
$ npm install -g mocha
Once mocha is installed, just run
mocha in the root directory of the project to execute all of the tests
For live deployment, make sure that the appropriate environmental variables are set for Node.js live production. In particular, check that
PORT are set on your machine.
For a live MongoDB database, make sure the connection string in config.js is set with the proper credentials and that the Mongo user has enough permissions to read and write from the database.
Depending on your cloud hosting service they may ask for a command to start the server, the command for this project is simply
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
This project is licensed under the MIT License - see the LICENSE file for details
- We would like to thank the Hack Illinois staff for a great hackathon and inspiring the creation of many open-source projects like this one.
- A special thank you to the mentors for all their help