The IBM Watson Tradeoff Analytics service helps you make better choices under multiple conflicting goals. The service combines smart visualization and recommendations for tradeoff exploration.
This sample application shows how to embed the Tradeoff Analytics (TA) widget in an app.
In particular, note the following files:
Client:
- public/index.html -- this simple web page contains just a single full-screen node under which the TA widget will be created.
- public/index.js -- a script that shows how to create and use the TA widget
Server:
- app.js -- node.js / express server that provides an end-point for obtaining a token needed to communcate with the service (see [Programming models for Watson services] (http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/getting_started/gs-develop.shtml))
- tradeoff-analytics-config.js -- a node module proving end-points for communicating with the TA service using either tokens or proxy. You may modify this based on your needs, e.g. to support authentication.
Data:
- public/data.json -- sample JSON input data.
Give it a try! Click the button below to fork into IBM DevOps Services and deploy your own copy of this application on Bluemix.
-
Create a Bluemix Account
Sign up in Bluemix, or use an existing account.
-
Download and install the Cloud-foundry CLI tool
-
Edit the
manifest.yml
file and change the<application-name>
to something unique.
applications:
- services:
- tradeoff-analytics-standard-service
name: <application-name>
command: node app.js
path: .
memory: 128M
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 Tradeoff Analytics service in Bluemix.
$ cf create-service tradeoff_analytics standard tradeoff-analytics-standard-service
- Push it live!
$ cf push
See the full Getting Started documentation for more details, including code snippets and references.
The application uses [Node.js][http://nodejs.org/] and [npm][https://www.npmjs.com/] so you will have to download and install them as part of the steps below.
-
Copy the credentials from your
tradeoff-analytics-standard-service
service in Bluemix toapp.js
, you can see the credentials using:$ cf env <application-name>
Example output:
System-Provided: { "VCAP_SERVICES": { "tradeoff_analytics": [{ "credentials": { "url": "<url>", "password": "<password>", "username": "<username>" }, "label": "tradeoff-analytics", "name": "tradeoff-analytics-standard-service", "plan": "standard" }] } }
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
To troubleshoot your Bluemix app the main useful source of information are the logs, to see them, run:
$ cf logs <application-name> --recent
This sample code is licensed under Apache 2.0. Full license text is available in LICENSE.
See CONTRIBUTING.
Find more open source projects on the IBM Github Page