appboard

appboard is real-time dashboard for your application and business.

Dashboards tell people what's happening and should help them immediately recognize what needs their attention. Just like the dashboard of a car, which provides easily monitored measures of speed, remaining fuel, oil level, battery strength, engine trouble, and so on, a application and business information dashboard provides an overview that can be assimilated quickly.

Further reading:

NOTE: We are currently in private beta. Please let me know ([email protected]) if you'd like an invite.

Gem Installation

Install the heroku gem if you haven't already:

$ gem install appboard

Note that appboard does not require ActiveSupport or Rails. You can safely use it in your own Ruby projects.

Local setup

Before using appboard in your application, you need to let appboard know your API key, you do this (e.g. in an initializer):

require 'rubygems'
require 'appboard'

Appboard.settings ({ :apiKey => "abcd1234" })

or you could define API key in call block:

require 'rubygems'
require 'appboard'

Appboard.setup {
    apiKey "abcd1234"

    ...         
}

or,

require 'rubygems'
require 'appboard'

Appboard.push {
    apiKey "abcd1234"

    ...         
}

Deploying to Heroku

To use appboard on Heroku, install the appboard add-on:

$ heroku addons:add appboard

You can also do this from the Resources section of your application's configuration page on Heroku.

This will automatically create you an appboard.me account and create an default dashboard, and fill will set the Heroku configuration variables variables ENV['APPBOARD_API_URL'] and ENV['APPBOARD_API_KEY'].

Usage

There is several options how you could use API:

Option 1. Setup new dashboard and pushing data to widget:

require 'rubygems'
require 'appboard'

Appboard.setup {
  apiKey "zxcv1234"

  widget('My Clock') {
    type "clock"
    size "1x1"
  }

  widget('First Indicator') {
    type "singlenumber"
    size "1x1"
  }
}

Appboard.widget('First Indicator') {
  data do 
    {
      :current => 10
    }
  end
}

puts Appboard.widget('First Indicator').uid             # prints widget uid

After seting up dashboard configuration is stored in Appboard class, and widget could be easily accessed by name. For already configured dashboards you could push your data by widget uid.

Option 2. Pushing data to widget by widget UID

require 'rubygems'
require 'appboard'

Appboard.push {
  apiKey "zxcv1234"

  widget('widget1') {
    uid "abcd1234"

    data do
      # Data is here        
    end
  }

  widget('widget2') {
    uid "poiu4321"

    data do
      # Data is here        
    end
  }
}

NOTE: Don't forget to specify your apiKey and widget identifier.

What Should My Request Look Like?

Each widget has its own page on our documentation. That page contains all the information you need in order to start working with the widget, including descriptions of data model (a piece that represents some kind of data).

Copyright (c) 2011 appboard.me. See LICENSE for details.