Clone this wiki locally
Dashing is a Sinatra based framework that lets you build beautiful dashboards.
- Use premade widgets, or fully create your own with scss, html, and coffeescript.
- Widgets harness the power of data bindings to keep things DRY and simple. Powered by batman.js.
- Use the API to push data to your dashboards, or make use of a simple ruby DSL for fetching data.
- Drag & Drop interface for re-arranging your widgets.
- Host your dashboards on Heroku in less than 30 seconds.
This is a fork of dashing project which was created at Shopify for displaying custom dashboards on TVs around the office.
Why use Dashing when there are plenty of cloud based dashboards out there?
Some requirements that are noteworthy:
- Use your own authentication. Many online platforms give you private URLs to your dashboards. Those can be tricky to remember, and can accidentally fall in the wrong hands. With Dashing, you can add whatever auth you want. We use Google Auth.
- Be completely customizable. We didn't want to be limited by the widgets that are available on other platforms. We also wanted all of our code to be in version control, and editable in whatever IDE we want.
- Keep instances of the same widget in sync. Many online dashboards give unique ids for every widget instance you create. This means that if you want to update 3 identical widgets showing 'daily sales', you'll need to use the API to push the value to all 3 instances. With Dashing, identical widgets all have the same id, meaning less duplication, and complete synchrony across all dashboards.
Visit the homepage
Here's a list of awesome widgets you can include in your dashboards. Feel free to add your own!
- How To: Add authentication
- How To: Deploy to Heroku
- How To: Run Dashing on Puma
- How To: Send HTML data to your widgets
- How To: Run on a different port, or in production
- How To: Debug incoming widget data
- How To: Change the default dashboard
- How To: Run dashing on a sub path
- How To: Update font awesome fonts from version 3 to 4
- How To: Prevent a job from overlapping with itself
- How To: Share your widgets
- How To: Send Mysql data to your widgets
- How To: Cycle through Multiple Dashboards
- How To: Prepare data for a graph widget
- How To: Define a data model and store history data to database
- Can't open more than # tabs: https://github.com/Dashing-io/dashing/issues/3