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.
Getting Started
- Create a Bluemix Account
Sign up in Bluemix, or use an existing account. Watson Services in Beta are free to use.
-
Download and install the Cloud-foundry CLI tool
-
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
.
- Connect to Bluemix in the command line tool
$ cf api https://api.ng.bluemix.net
$ cf login -u <your user ID>
- Create the Personality Insights service in Bluemix
$ cf create-service personality_insights tiered personality-insights-service
- 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.
-
Copy the credentials from your
personality-insights-service
service in Bluemix toapp.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
andurl
. -
Install Node.js
-
Go to the project folder in a terminal and run:
npm install
-
Start the application
-
node app.js
-
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:
- Translating the static text:
1. Locate the
en.json
file present in thei18n
directory. This file includes all the messages and labels in English. 1. Copyen.json
and name the new file with the formatll-CC.json
orll.json
, wherell
is the language code andCC
is the country code. For example, a new translation for argentinian Spanish would be named afteres-AR.json
. You may omit the country code to make the translation global for the language. 1. Translate each English string to the desired language and save it. - 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
1. Copy each file and name it with the format<filename>_ll-CC.json
or<filename>_ll-CC.json
. For example, a Portuguese language translations forfacets.json
will result in a new file namedfacets_pt.json
, an UK English translation fortraits.json
will result in a new file namedtraits_en-UK.json
. 1. 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