Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/watson-developer-cloud/personality-insights-nodejs
:bar_chart: Sample Nodejs Application for the IBM Watson Personality Insights Service
https://github.com/watson-developer-cloud/personality-insights-nodejs
personality-insights
Last synced: 3 months ago
JSON representation
:bar_chart: Sample Nodejs Application for the IBM Watson Personality Insights Service
- Host: GitHub
- URL: https://github.com/watson-developer-cloud/personality-insights-nodejs
- Owner: watson-developer-cloud
- License: apache-2.0
- Archived: true
- Created: 2015-02-19T00:10:59.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-06-23T18:55:29.000Z (over 2 years ago)
- Last Synced: 2024-07-23T00:38:54.493Z (4 months ago)
- Topics: personality-insights
- Language: JavaScript
- Homepage: https://personality-insights-demo.ng.bluemix.net/
- Size: 8.08 MB
- Stars: 560
- Watchers: 69
- Forks: 502
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ibmcloud - personality-insights-nodejs - 📊 Sample Nodejs Application for the IBM Watson Personality Insights Service. (Data & AI)
README
🚀 Personality Insights Sample Application
This Node.js app demonstrates how to analyze text and tweets using Personality Insights.
The IBM Watson [Personality Insights][service_url] 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.
## Prerequisites
1. Sign up for an [IBM Cloud account](https://cloud.ibm.com/registration/).
1. Download the [IBM Cloud CLI](https://cloud.ibm.com/docs/cli/index.html#overview).
1. Create an instance of the Personality Insights service and get your credentials:
- Go to the [Personality Insights](https://cloud.ibm.com/catalog/services/personality-insights) 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.
- Copy the `url` value.## Configuring the application
1. In the application folder, copy the *.env.example* file and create a file called *.env*
```
cp .env.example .env
```2. Open the *.env* file and add the service credentials that you obtained in the previous step.
Example *.env* file that configures the `apikey` and `url` for a Personality Insights service instance hosted in the US East region:
```
PERSONALITY_INSIGHTS_IAM_APIKEY=X4rbi8vwZmKpXfowaS3GAsA7vdy17Qh7km5D6EzKLHL2
PERSONALITY_INSIGHTS_URL=https://gateway-wdc.watsonplatform.net/personality-insights/api
```
### Setting Up the Twitter Application1. [Create a Twitter application][create_twitter_app].
2. Add your application's callback URL:
- For Bluemix environment: `.mybluemix.net/auth/twitter/callback`
- For Local environment: `http://localhost:3000/auth/twitter/callback`3. Update the `.env` file and add your twitter application credentials:
```none
TWITTER_CONSUMER_KEY=
TWITTER_CONSUMER_SECRET=
```## Running locally
1. Install the dependencies
```
npm install
```1. Run the application
```
npm start
```1. View the application in a browser at `localhost:3000`
## Deploying to IBM Cloud as a Cloud Foundry Application
1. Login to IBM Cloud with the [IBM Cloud CLI](https://cloud.ibm.com/docs/cli/index.html#overview)
```
ibmcloud login
```1. Target a Cloud Foundry organization and space.
```
ibmcloud target --cf
```1. Edit the *manifest.yml* file. Change the **name** field to something unique.
For example, `- name: my-app-name`.
1. Deploy the application```
ibmcloud app push
```1. View the application online at the app URL.
For example: https://my-app-name.mybluemix.net## Directory structure
```none
.
├── app.js // express entry point
├── config // express configuration
│  ├── error-handler.js
│  ├── express.js
│  ├── i18n.js
│  ├── passport.js
│  └── security.js
├── helpers // utility modules
│  ├── personality-insights.js
│  └── twitter-helper.js
├── i18n // internationalization
│  ├── en.json
│  ├── es.json
│  └── ja.json
├── manifest.yml
├── package.json
├── public
│  ├── css
│  ├── data // sample text and tweets
│  ├── fonts
│  ├── images
│  └── js
├── router.js // express routes
├── server.js // application entry point
├── test
└── views // ejs views
```## License
This sample code is licensed under Apache 2.0.
Full license text is available in [LICENSE](LICENSE).## Contributing
See [CONTRIBUTING](CONTRIBUTING.md).
## Open Source @ IBM
Find more open source projects on the
[IBM Github Page](http://ibm.github.io/).[service_url]: https://www.ibm.com/watson/services/personality-insights/
[create_twitter_app]: https://apps.twitter.com/app/new