simonseo / cehack-sans-dump

Travel adviser that sends you where you actually want to go. With one click.
Apache License 2.0
0 stars 0 forks source link

Dump by sans

Travel adviser that sends you where you actually want to go. With one click. Created during Cogint (IBM + Mubadala) and Etihad Hackathon 2016.

Problem

How can we enhance travel experience with IBM Watson?

Persona

light minded college student who wants to go somewhere for an upcoming holiday (NYUAD Student)

Problem

  1. Doesn't know where to go. Doesn't have time and energy to plan.
  2. Lot of mainstream destinations are too emphasized and romanticized.
  3. can't afford to decide wrong OR late
  4. Paris syndrome: People are going to places that they don't actually enjoy.

Solution

Website that takes twitter handle / facebook profile and returns suggested country destinations. Personalities match places (Creative art lover - New York , sporty adventurer - Oman, Romanticists - Rome).

When there will be a button to connect to the user's facebook account. It will straight away show recommended travel destinations.

Watson APIs

  1. Personality Insight
  2. Tradeoff Analytics

Training data source

The Gazelle articles + and which countries authors flew to. Run articles through personality insight to get personality.json. Survey authors which countries they've been to while enrolled at NYUAD.

Future Goals

  1. Specific budget and dates.
  2. View Etihad flights
  3. Give travel packages as gifts (if they have twitter)
  4. Sexy Etihad voice

To Do

  1. Send emails and collect data from gazelle writers
  2. looks at

Personality Insights Nodejs Starter Application

The IBM Watson Personality Insights service uses linguistic analysis to extract cognitive and social characteristics from input text such as email, text messages, tweets, forum posts, and more. By deriving cognitive and social preferences, the service helps users to understand, connect to, and communicate with other people on a more personalized level.

Give it a try! Click the button below to fork into IBM DevOps Services and deploy your own copy of this application on Bluemix.

Deploy to Bluemix

Getting Started

  1. Create a Bluemix Account

    Sign up in Bluemix, or use an existing account. Watson Services in Beta are free to use.

  2. Download and install the Cloud-foundry CLI tool

  3. Edit the manifest.yml file and change the <application-name> to something unique.

    applications:
    - services:
    - personality-insights
    name: <application-name>
    command: node app.js
    path: .
    memory: 256M

    The name you use will determinate your application url initially, e.g. <application-name>.mybluemix.net.

  4. Connect to Bluemix in the command line tool

    $ cf api https://api.ng.bluemix.net
    $ cf login -u <your user ID>
  5. Create the Personality Insights service in Bluemix

    $ cf create-service personality_insights tiered personality-insights-service-standard
  6. Push it live!

    $ cf push

See the full Getting Started documentation for more details, including code snippets and references.

Running locally

The application uses Node.js and npm so you will have to download and install them as part of the steps below.

  1. Copy the credentials from your personality-insights-service service in Bluemix to app.js, you can see the credentials using:

    $ cf env <application-name>

    Example output:

    System-Provided:
    {
    "VCAP_SERVICES": {
      "personality_insights": [{
          "credentials": {
            "url": "<url>",
            "password": "<password>",
            "username": "<username>"
          },
        "label": "personality_insights",
        "name": "personality-insights-service",
        "plan": "IBM Watson Personality Insights Monthly Plan"
     }]
    }
    }

    You need to copy username, password and url.

  2. Install Node.js

  3. Go to the project folder in a terminal and run: npm install

  4. Start the application

  5. node app.js

  6. Go to http://localhost:3000

i18n Support

The application has i18n support and is available in English and Spanish. The language is automatically selected from the browser's locale.

To add a new translation follow the steps below:

  1. Translating the static text:
    1. Locate the en.json file present in the i18n directory. This file includes all the messages and labels in English.
    2. Copy en.json and name the new file with the format ll-CC.json or ll.json, where ll is the language code and CC is the country code. For example, a new translation for argentinian Spanish would be named after es-AR.json. You may omit the country code to make the translation global for the language.
    3. Translate each English string to the desired language and save it.
  2. Translating the personality summary:
    1. Locate the JSON files present in public/json/ directory. These are:
      • facets.json
      • needs.json
      • summary.json
      • traits.json
      • values.json
    2. Copy each file and name it with the format <filename>_ll-CC.json or <filename>_ll-CC.json. For example, a Portuguese language translations for facets.json will result in a new file named facets_pt.json, an UK English translation for traits.json will result in a new file named traits_en-UK.json.
    3. Translate all the strings present in the new files to the desired language and save them.

Troubleshooting

To troubleshoot your Bluemix app the main useful source of information are the logs, to see them, run:

  $ cf logs <application-name> --recent

License

This sample code is licensed under Apache 2.0. Full license text is available in LICENSE.
This sample code uses d3 and jQuery, both distributed under MIT license.

Contributing

See CONTRIBUTING.

Open Source @ IBM

Find more open source projects on the IBM Github Page