Skip to content

Yet another live dashboard solution to monitor your software- or product development process.

License

Notifications You must be signed in to change notification settings

sbstnmsch-zz/dashbot

Repository files navigation

Build Status

dashbot

... is yet another live dashboard solution to monitor your software- or product development process. Use it for dashboards served by a i.e. Rasperry PI or as an intranet website.

A live demo can be found on heroku (The project files can be found here: github.com/hennr/arewegreen)

Build it

$ npm install
$ grunt

Run it locally

Follow Build it and then run any of these commands:

# via nginxere; available at https://github.com/sbstnmsch/nginxere
$ nginxere 
# via python
$ cd dist && python -m SimpleHTTPServer 8000
# or by serving ./dist with your favorite web server

Now point your browser to http://localhost:8000

Serve it

To serve the dashboard with nginx or another web server edit the layout.json to serve your needs and point your web server's root to dist/.

Notes on CORS

For polling other than local URLs (like in the example) start up your browser with disabled security, i.e. Chrome with:

$ open -a Google\ Chrome --args --disable-web-security

Lay it out

Dashbot's tiles are called visuals. These visuals are designed to fill your screen. Just edit your layout.json:

[
  [
    { /* Visual A: Row 1, Col 1 - Full width */ }
  ],
  [
    { /* Visual B: Row 2, Col 1 - 50% width */ },
    { /* Visual C: Row 2, Col 2 - 50% width */ }
  ],
  [
    { /* Visual D: Row 3, Col 1 - ~33% width */ },
    { /* Visual E: Row 3, Col 2 - ~33% width */ },
    { /* Visual F: Row 3, Col 3 - ~33% width */ }
  ]
]

Visuals

Choose from a growing set of visuals to serve your needs.

Number Visual Examples

The simplest way to display a number visual with a static value and title:

{
  "visual": "number",
  "title": "Ali Baba and the...",
  "value": 40
}

Make it poll external sources every 60secs:

{
  "visual": "number",
  "title": "Ali Baba and the...",
  "xhr": "/some/url/ali/baba.json",
  "xhrValue": "thieves.count",
  "xhrInterval": 60
}

... whereas the baba.json file has following dynamic content:

{
    "name": "Ali Baba",
    "thieves": {
      "count": 40,
      ...
    }
}

As you can see the value is evaluated against whatever you tell xhrValue to be. So there is no need to change your existing JSON-files.

If you want you can define a red/ green state:

{
  ...
  "red": "!=40",
  "green": "==40"
}

Display units

To display your values in a special unit just define unit:

{
  ...
  "unit": "percent"
}

or ...

{
  ...
  "unit": "bytes"
}

The bytes unit automatically calculates bytes, kilobytes and megabytes.

Graph Visual

The graph visual displays more than one value in a graph:

{
  "visual": "graph",
  "title": "Application Downloads",
  "value": [2302, 2658, 1987, 2001, 2160, 2852]
}

Enjoy polling external resources by adding xhr and xhrInterval parameters.

Weather Visual

Just for fun - getting the temperature in your city. Kindly provided by http://openweathermap.org

{
  "visual": "weather",
  "city": "berlin,de", /* name of your city or lat, lng */
  "unit": "c" /* `c` for celsius, or `f` for fahrenheit */
}

Getting data to it

There are two way to get your data displayed by dashbot.

Write json files to your disk

When serving the ./dist folder (as described in Serve it) you can find dummy json files in the ./dist/data folder which you can update/rewrite periodically e.g. by a cronjob.

Use an external server

Alternatively you can use an external server which serves json and let that server do the updates for you. This could look like this:

{ "visual": "number", "xhr": "https://api.github.com/users/hennr", "xhrValue": "id"}

Background images

All background images are downloaded from Wikimedia Commons and can be used in every single visual by defining "class": "<imageid>".

About

Yet another live dashboard solution to monitor your software- or product development process.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •