This project is to make a very basic example dashboard using some Vancouver Open Data.
When designing a dashboard, it's important to consider 3 things:
1 What is your Goal? 2 What is your methodology? 3 Something else.
The goal of this project is to provide a simple example codebase for other dashboards. Using the Dashing framework, we can create exceptionally handsome dashboards.
This particular dashboard uses the Vancouver Rental Standards data:
After reviewing the data, I brainstormed some of the dashboard widgets that I could build using the data I had available. The first step was to shape the data into a structure that would be summarized for display in the widgets.
Unfortunately, the JSON file on the open data portal does not include all the data we need. So we need to scrape some HTML from a city search tool to get the individual rental infractions.
bin/scrape - this is used to grab the JSON, and then scrape the HTML form.
The output of
With the data downloaded, we can then convert it into the metrics we want.
bin/parse to read
data.json and analyze/sum/count the data into
Then our Ruby dashboard can read
metrics.json and show the results on the
In order to update the data, one would need to run
bin/parse, then re-start the dashing process to read the latest JSON file.
Obviously you could design this better so that the Ruby process did the
scraping and parsing periodically, or polled other APIs.
For future projects, you'll probably need to scrape/parse your data. This project is intended as a reference only, it's probably not suitable for directly copying. That's okay, none of this is too difficult.
To learn more about the Dashing framework, check out
Yours Truly, @lukec