Custom Analytics Dashboard for Microsoft Bot Framework and other applications as well
Перейти к файлу
Mor Shemesh 0c8961c0b7
Merge pull request #379 from mikegoatly/timespan-options
Allow for more timespan options
2018-06-07 13:38:38 +03:00
.travis build in travis only on PRs to master 2018-01-09 17:21:17 +02:00
.vscode Multiline textarea copy, Scorecard no-title card, dialog always appears on top 2017-07-08 13:35:18 +01:00
build Travis build: 768 2018-05-31 09:27:03 +00:00
client Fixed broken tests 2018-06-06 22:36:00 +01:00
docs updating repo name 2018-01-07 14:35:00 +02:00
scripts/deployment updating repo name 2018-01-07 14:35:00 +02:00
server update some minor issues 2018-05-31 12:21:12 +03:00
.deployment install in production with yarn 2017-06-07 17:43:47 +03:00
.dockerignore Fix for docker build 2017-07-31 13:43:51 +01:00
.editorconfig Split panel dialog with errors groups 2017-04-07 19:59:51 +01:00
.gitignore adding more files/directories to the git ignore list 2017-08-22 11:21:29 +03:00
.travis.yml Install yarn explicitly 2017-06-14 17:01:20 +02:00
Dockerfile update Dockerfile 2018-05-31 12:27:29 +03:00
LICENSE Updating readme 2017-07-30 11:06:07 +03:00
README.md Fixed URL in 'DeployToAzure' Badge 2018-05-31 17:24:22 +02:00
package.json updating version and README 2018-01-08 18:04:41 +02:00
yarn.lock fix stores lint issues 2017-08-24 15:45:18 +03:00

README.md

Ibex Dashboard Build Status

Ibex is a dashboarding application that enables building dashboard and templates. It mainly supports Application Insights but data sources and visual components are easily extendable.

Changes

Version 1.3 (January 22, 2018)

Version 1.3 contains the following changes:

  • Moving application insights queries from client to server
  • Updated tests to answer some security risks presented by GitHub
  • Updated tests to accommodate the new approach
  • Added masking/unmasking of connection parameters (so that client side can only update API KEY but not see what it is)
  • Fixed small bugs with Firefox rendering

Version 1.2 (October 16, 2017)

Version 1.2 breaks the persitency paths of dashboard files and custom templates. If you are upgrading to this version, copy your private dashboards from /dashboards into /dashboards/persistent/ as follows:

Private Files: Move files from /dashboards/*.private.js to /dashboards/persistent/private.

Custom Templates: Move files from /dashboards/customTemplates/*.private.ts to /dashboards/persistent/customTemplates.

Preview

Preview Preview Preview

Installation

npm install yarn -g

git clone https://github.com/Azure/ibex-dashboard
cd ibex-dashboard
yarn
yarn start

Using Bot Analytics Instrumented Dashboard

  1. Open http://localhost:4000
  2. Create a new template from Bot Analytics Instrumented Dashboard
  3. Run through the Application Insights setup and fill in API Key and Application ID according to the application insights account associated with your registered bot.

Installation on Ubuntu

Use the following to install yarn on Ubuntu:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn

Development

yarn start:dev

Open http://localhost:3000

For contribution and code documentation follow: DEVELOPMENT & CONTRIBUTION.

Deploy To Azure

There are 3 ways to deploy to Azure:

1. Web App - Automated

  1. Fork this repo (to be able to automatically create github deployment key)
  2. Copy the fork url and use it with the following deployment button:

2. Web App On Linux - Automated with Docker Hub

3. Manual

  1. Fork this repo (to be able to automatically create github deployment key)
  2. Clone & Deploy:
  3. Create a new Web App in Azure

Deploy With Docker

  1. docker build -t **image name** .
  2. docker run -d -e PORT=80 **image name**
  3. Docker image is also available at Docker Hub - docker pull morshemesh/ibex-dashboard

Application Insights Integration

Since application insights API doesn't support ARM yet, we need to manually create an API Key for the application insights service. The full instructions are also available when you create a new dashboard.

You can also follow the next headline.

Create new API Key and Application ID

The following steps explain how to connect Application Insights bot with your bot and your dashboard: [you can also follow the official Application Insights article].

  1. Go to azure portal
  2. Select: Resource Groups > [new resource group] > App Insights Service
  3. Copy Instrumentation Key and paste into your bot registration page (on the bottom)
  4. Click: API Access > Create New Key > + Read Telemetry
  5. Copy Application ID + API Key
  6. Open the URL of your web app
  7. Under AppId/ApiKey set the values you created.

Adding Application Insights instrumentation to your bot

Testing

The test watcher is integrated into the create-react-app mechanism and runs tests related to files changes since the last commit.

To run the test watcher in an interactive mode:

cd client
yarn test

Alternatively, you can also run the full commands that the Travis CI server will run to validate any changes.

.travis/ci.sh

Build

Our CI server Travis creates new production builds automatically for changes to master. If you need to create a build locally, you can execute the same commands as the CI server.

yarn build

Or

.travis/build.sh

Resources

Technologies In Use

Design and Patterns

This project is built using:

The server approach was added using:

Thinking about integrating with:

Engines

  • Running node version 6.11 or above.

License

MIT