# shopify/dashing

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/shopify-dashing).**

10,911 stars · 1,153 forks · JavaScript · MIT · archived

## Links

- GitHub: https://github.com/Shopify/dashing
- Homepage: http://shopify.github.com/dashing/
- awesome-repositories: https://awesome-repositories.com/repository/shopify-dashing.md

## Description

Dashing is a Ruby dashboard framework used to build real-time, full-screen data displays. It employs a Ruby domain-specific language for defining data sources and visual components, utilizing a grid-based widget system to organize information for automated visual reporting.

The framework is optimized for television screens and large monitors in office or operations environments. It implements a server-sent events architecture to push live data updates from any source directly to the browser.

The system includes a background job scheduler for periodic data refreshes and automated metric reporting. Client-side rendering is handled by a CoffeeScript runtime within a single-page application shell.

## Tags

### System Administration & Monitoring

- [TV-Optimized Monitoring Displays](https://awesome-repositories.com/f/system-administration-monitoring/tv-optimized-monitoring-displays.md) — Offers a layout engine specifically optimized for full-screen display on televisions and large monitors in office environments.
- [Real-Time Monitoring Systems](https://awesome-repositories.com/f/system-administration-monitoring/real-time-monitoring-systems.md) — Enables real-time tracking of metrics and system health through automatically updating full-screen displays.
- [Background Job Schedulers](https://awesome-repositories.com/f/system-administration-monitoring/background-job-schedulers.md) — Provides a Ruby-based scheduler to trigger periodic data refreshes for dashboard widgets.

### Web Development

- [Dashboard Frameworks](https://awesome-repositories.com/f/web-development/modern-web-framework-support/dashboard-frameworks.md) — Provides a complete framework for building real-time, metric-driven visual dashboards. ([source](https://cdn.jsdelivr.net/gh/shopify/dashing@master/README.md))
- [Ruby DSL Dashboard Definitions](https://awesome-repositories.com/f/web-development/ruby-dsl-dashboard-definitions.md) — Provides a Ruby DSL for declaratively defining dashboard widgets and their associated data sources.
- [Ruby Frameworks](https://awesome-repositories.com/f/web-development/web-application-frameworks/ruby-frameworks.md) — Provides a comprehensive Ruby framework for building real-time, full-screen data displays.
- [Dashboard Frameworks](https://awesome-repositories.com/f/web-development/web-application-frameworks/ruby-frameworks/dashboard-frameworks.md) — Provides a Ruby-centric framework for defining the layout and data sources of information dashboards.
- [Client-Side Runtimes](https://awesome-repositories.com/f/web-development/client-side-runtimes.md) — Implements a CoffeeScript-based runtime in the browser for managing widget state and interactions.
- [Single-Page Applications](https://awesome-repositories.com/f/web-development/single-page-applications.md) — Utilizes a single-page application shell to maintain a persistent session for seamless full-screen transitions.

### Networking & Communication

- [Event-Driven Visualizations](https://awesome-repositories.com/f/networking-communication/event-driven-visualizations.md) — Pushes real-time data from various sources to browser widgets using event-driven transport.
- [Server-Sent Events](https://awesome-repositories.com/f/networking-communication/server-sent-events.md) — Implements Server-Sent Events to push real-time data updates from the server to the browser.
- [Real-Time Message Push](https://awesome-repositories.com/f/networking-communication/real-time-message-push.md) — Uses persistent network connections to push real-time data updates from various sources directly to dashboard widgets. ([source](http://shopify.github.com/dashing))

### Programming Languages & Runtimes

- [Domain Specific Languages](https://awesome-repositories.com/f/programming-languages-runtimes/domain-specific-languages.md) — Provides a Ruby DSL for declaring data sources, templates, and update intervals for widgets.

### User Interface & Experience

- [Dashboard Widgets](https://awesome-repositories.com/f/user-interface-experience/dashboard-widgets.md) — Provides a system of modular, self-contained widgets that independently render and refresh real-time data. ([source](http://shopify.github.com/dashing))
- [Operations Center Displays](https://awesome-repositories.com/f/user-interface-experience/dashboard-widgets/dashboard-page-managers/back-office-dashboard-frameworks/operations-center-displays.md) — Creates visual dashboards optimized for large monitors and television screens in operations centers.
- [TV Display Optimizations](https://awesome-repositories.com/f/user-interface-experience/full-screen-display-modes/tv-display-optimizations.md) — Optimizes real-time data displays for television screens and large monitors in operations environments. ([source](https://cdn.jsdelivr.net/gh/shopify/dashing@master/README.md))
- [Grid Layout Engines](https://awesome-repositories.com/f/user-interface-experience/grid-layout-engines.md) — Employs a grid-based layout engine to organize data widgets on full-screen displays.
- [Widget Engines](https://awesome-repositories.com/f/user-interface-experience/widget-engines.md) — Implements a widget engine that organizes self-contained data components on a fixed grid.
- [Widget Lifecycle Managers](https://awesome-repositories.com/f/user-interface-experience/widget-event-dispatchers/widget-lifecycle-managers.md) — Manages the instantiation and rendering of dashboard components using a shared client-side message bus.

### Business & Productivity Software

- [Visual Metric Reporting](https://awesome-repositories.com/f/business-productivity-software/business-intelligence-strategy/business-intelligence-analytics/business-intelligence/automated-reporting/visual-metric-reporting.md) — Automates the process of fetching metrics and pushing updates to a visual dashboard.

### Data & Databases

- [Data Refresh Scheduling](https://awesome-repositories.com/f/data-databases/data-refresh-scheduling.md) — Automates the periodic refreshing of dashboard data views to keep metrics up to date. ([source](http://shopify.github.com/dashing))

### Part of an Awesome List

- [Data Visualization](https://awesome-repositories.com/f/awesome-lists/data/data-visualization.md) — Framework for building custom operational dashboards.
