Awesome
<h1 style="font-weight: bold;"># DEPRECATED</h1> <h2> This demo and repo is no longer supported. You can find the newly supported Discovery demo <a href="https://www.ibm.com/demos/live/watson-discovery/self-service"> here. </a> </h2> <h1 align="center" style="border-bottom: none;">🔎 Discovery Demo </h1> <h3 align="center">Use the IBM Watson Discovery service to add a cognitive search and content analytics engine to your applications to identify patterns, trends and actionable insights that drive better decision-making.</h3> <p align="center"> <a href="http://travis-ci.org/watson-developer-cloud/discovery-nodejs"> <img alt="Travis" src="https://travis-ci.org/watson-developer-cloud/discovery-nodejs.svg?branch=master"> </a> <a href="#badge"> <img alt="semantic-release" src="https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg"> </a> </p> </p>Demo: https://discovery-news-demo.ng.bluemix.net/
Prerequisites
- Sign up for an IBM Cloud account.
- Download the IBM Cloud CLI.
- Create an instance of the Discovery service and get your credentials:
- Go to the Discovery page in the IBM Cloud Catalog.
- Log in to your IBM Cloud account.
- Click Create.
- Click Show to view the service credentials.
- Copy the
apikey
value, or copy theusername
andpassword
values if your service instance doesn't provide anapikey
. - Copy the
url
value.
Configuring the application
-
In the application folder, copy the .env.example file and create a file called .env
cp .env.example .env
-
Open the .env file and add the service credentials that you obtained in the previous step.
Example .env file that configures the
apikey
andurl
for a Discovery service instance hosted in the US East region:DISCOVERY_IAM_APIKEY=X4rbi8vwZmKpXfowaS3GAsA7vdy17Qh7km5D6EzKLHL2 DISCOVERY_URL=https://gateway-wdc.watsonplatform.net/discovery/api
- If your service instance uses
username
andpassword
credentials, add theDISCOVERY_USERNAME
andDISCOVERY_PASSWORD
variables to the .env file.
Example .env file that configures the
username
,password
, andurl
for a Discovery service instance hosted in the Sydney region:DISCOVERY_USERNAME=522be-7b41-ab44-dec3-g1eab2ha73c6 DISCOVERY_PASSWORD=A4Z5BdGENrwu8 DISCOVERY_URL=https://gateway-syd.watsonplatform.net/discovery/api
- If your service instance uses
Running locally
-
Install the dependencies
npm install
-
Build the application
npm run build
-
Run the application
npm start
-
View the application in a browser at
localhost:3000
Deploying to IBM Cloud as a Cloud Foundry Application
-
Build the application
npm run build
-
Login to IBM Cloud with the IBM Cloud CLI
ibmcloud login
-
Target a Cloud Foundry organization and space.
ibmcloud target --cf
-
Edit the manifest.yml file. Change the name field to something unique. For example,
- name: my-app-name
. -
Deploy the application
ibmcloud app push
-
View the application online at the app URL, for example: https://my-app-name.mybluemix.net
Tests
Unit tests
Run unit tests with npm run test-unit
, then a
to run all tests. See the output for more info.
Integration tests
First you have to make sure your code is built: npm run build
Then run integration tests with: npm run test-integration-runner
Directory structure
.
├── app.js // express routes
├── config // express configuration
│ ├── error-handler.js
│ ├── express.js
│ └── security.js
├── package.json
├── public // static resources
├── server.js // entry point
├── test // integration tests
└── src // react client
├── __test__ // unit tests
└── index.js // app entry point
License
This sample code is licensed under the MIT License.
Contributing
See CONTRIBUTING.
Open Source @ IBM
Find more open source projects on the IBM Github Page