- dashing: spirited, audacious and full of high spirits
- capybara: a rodent that looks like Rafel Nadal
Dashing Capybara is a library to make it easy to push JSON data to custom views, such as a dashboards or widgets in a browser. It consists of a REST API to push data and a Publish/Subscribe API to allow clients to receive updates of that data instantly.
Following the UNIX tradition and node.js way of "doing one thing and doing it right" it deliberately does not fetch, aggregate or analyze data. All of these things should be done elsewhere.
Run the server, then follow the instructions on the example page.
git clone git://github.com/c089/dashing-capybara.git && cd dashing-capybara npm install && npm start
- A REST API to get data into the system, see test/features/api.feature.
- A publish/subscribe API to allows clients to subscribe to any changes made to the data. See test/features/pubsub.feature.
Alpha: The implementation is incomplete and the APIs will change.
- validate incoming data (well formatted, maximum size)
- persistent storage engine based on redis
- retention rules (clean old values based on timestamp or maximum entries)
- fancy example application
- upgrade grunt to 0.4.x
- consistency: 2 spaces indentation
- consistency: use camel case instead of underscores for method names
Inspiration / Competition / Alternatives
- Ducksboard and Geckoboard are proprietary turnkey solutions allowing you to sign up and click together widgets and easily build dashboards without any tech knowledge. While I would love to see a project like this built on dashing-capybara, it is currently out of the scope of this project - you have to supply the data yourself using the API.
- Dashing is a full framework to build dashboards and comes with beautiful widgets. However, it does too many things tightly coupled for my taste.
- Graphene "is a realtime dashboard & graphing toolkit based on D3 and Backbone". It is tightly coupled to Graphite (dashing-capybara tries to decouple from both data providing backends as well as front-end libraries) and it's "realtime" is achieved by interval polling (where as dashing-capybara uses push technologies).
- JSlate claims to offer "dashboarding with no restrictions" but is built on technologies I personally dislike enough to not care.