🚀 Tone Analyzer Sample Application
This Node.js app demonstrates some of the Tone Analyzer service features.
The IBM Watson Tone Analyzer service is a cognitive linguistic analysis service that detects 7 tones which are most commonly used to detect the tone of written text. These are: anger, fear, joy, sadness, confident, analytical, and tentative.
Prerequisites
- Sign up for an IBM Cloud account.
- Download the IBM Cloud CLI.
- Create an instance of the Tone Analyzer service and get your credentials:
- Go to the Tone Analyzer 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 Tone Analyzer service instance hosted in the US East region:TONE_ANALYZER_IAM_APIKEY=X4rbi8vwZmKpXfowaS3GAsA7vdy17Qh7km5D6EzKLHL2 TONE_ANALYZER_URL=https://gateway-wdc.watsonplatform.net/tone-analyzer/api
- If your service instance uses
username
andpassword
credentials, add theTONE_ANALYZER_USERNAME
andTONE_ANALYZER_PASSWORD
variables to the .env file.
Example .env file that configures the
username
,password
, andurl
for a Tone Analyzer service instance hosted in the Sydney region:TONE_ANALYZER_USERNAME=522be-7b41-ab44-dec3-g1eab2ha73c6 TONE_ANALYZER_PASSWORD=A4Z5BdGENrwu8 TONE_ANALYZER_URL=https://gateway-syd.watsonplatform.net/tone-analyzer/api
- If your service instance uses
Running locally
-
Install the dependencies
npm install
-
Run the application
npm start
-
View the application in a browser at
localhost:3000
Deploying to IBM Cloud as a Cloud Foundry Application
-
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
Deploying to IBM Cloud as a Kubernetes Application
-
Login to IBM Cloud with the IBM Cloud CLI
ibmcloud login
-
Install the Kubernetes CLI and configure it to run
kubectl
commands. -
Edit the
kube-deploy.yaml
file and update the environment variables in the container with the service credentials -
Deploy the application
kubectl apply -f kube-deploy.yaml
Expected output:
service/tone-analyzer-nodejs created deployment.apps/tone-analyzer-nodejs created ingress.extensions/tone-analyzer-nodejs created
License
This sample code is licensed under Apache 2.0.
Full license text is available in LICENSE.
Contributing
See CONTRIBUTING.
Open Source @ IBM
Find more open source projects on the IBM Github Page.