-
Notifications
You must be signed in to change notification settings - Fork 324
Home
Atille edited this page Mar 20, 2020
·
48 revisions
Smashing 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.
Good question! There are tons of great options available, such as Geckoboard and Dashku. However, each have their own limitations.
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 Smashing, 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 Smashing, identical widgets all have the same id, meaning less duplication, and complete synchrony across all dashboards.
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 smashing 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
- How To: Drive Smashing widgets with PHP
- Use Docker to run Smashing
- Home
- Dashing Workshop
- Installation
- Widgets
- Configuration
- Security
- Troubleshooting
- Deploying dashboards
- How Tos
- How to: post data to your dashboard and widgets
- How to: Define a data model and store history data to database
- How to: Prevent a job from overlapping with itself
- How to: Send HTML data to your widgets
- How to: Send mysql data to your widgets
- How to: Setup a Graph
- How to: Store data to and display from database
- How to: Update a Dashboard using a spreadsheet
- How to: update dashboard in Django
- How to: Update font awesome fonts from version 3 to 4
- How to: Use New Relic with Dashing
- How to: precompile assets
- Development