Building an analytics dashboard? Don’t start from scratch. Grab one of our CSS Grid-based templates and admire your data in minutes.
UPDATE: All examples in this repo have been updated to use keen-dataviz.js and keen-analysis.js, as well as CDN versions of all dependencies. When producing charts with keen-dataviz.js, the HTML wrapper for each chart (.chart-wrapper
, described below) is rendered automatically.
Begin with a layout:
Add charts to each chart-stage
HTML element:
<div class="grid-hero">
<div class="hero chart-wrapper">
<div class="chart-title">
Chart Title
</div>
<div class="chart-stage">
<div id="grid-1-1">
<!-- chart goes here! -->
</div>
</div>
<div class="chart-notes">
Notes about this chart (optional)
</div>
</div>
</div>
And voilà !
An attractive, custom analytics dashboard that's ready to be shown to your team or your customers. No hours lost tweaking CSS or testing responsiveness on eight different mobile devices.
These layout templates are composed of a minimal set of custom styles. They cover the most common use cases and layout configurations we've encountered so far.
- Layouts for pre-built, responsive dashboard views
- Examples for specific domains, data models and popular integrations
These templates can work with any data source or charting library, but they're particularly streamlined to work with Keen IO's Dataviz SDK. To see the Keen integration in action, create a free project and send some data to it. Then add some charts to your dashboard with just a few lines of code.
Ready to use one of these awesome layouts? Here's how to get started.
-
Download a copy of this repository as a zip file, using this link. You can also type
git clone keen/dashboards
in your terminal. -
Check out the various layouts and pick the one that best suits your needs. Find the template in the repository you downloaded at
folder/layouts/(name-of-template)
. -
Start editing! In the destination folder will exist an
.html
file. Open it in your favorite text editor. There are three things you need to do to edit your dashboard: -
Setup: If you're a registered Keen IO user, navigate to your keen project or if you don't have a user at first, you can simply use some demo data that we've prepared for you. You can access those by going to the repository and navigating to demo-data. There, you will see some javascript files with some code in them. We will simply paste those in the .html file.
-
Some copypasta. When you navigate to the bottom of the .html file, you can see that there are a bunch of script tags. Just before the end of the body tag, we're going to add in the code from sample.html. Simply copy and paste the code just before you see
</body>
. -
Once you've done that we need to hook up the specific items within the template to the code that we've just pasted in to our file. Each KeenDataviz instance has
container
property, which is a node selector required by query. That means that this query will try to find inside the html file a specified node. Please bear in mind that you have to set a height of this node in your stylesheet or using inline CSS. In these templates, you will see lines of that resemble something like:
<div class="chart-stage"> <!-- This is where you need to put the id property in! -->
<img data-src="holder.js/100%x650/white">
</div>
Now we're going to change those lines so that it looks like this:
<div class="chart-stage" id="chart-01"> <!-- This is where you need to put the id property in! -->
<!-- Get rid of that img tag! -->
</div>
You're finished! Congratulations on setting up your first chart! Repeat step three with the rest of the items in the template to complete your dashboard!
Clone the repository.
$ git clone https://github.com/keen/dashboards.git
Access the repository and build your Docker image.
$ cd dashboards
$ docker build -t keen/dashboards .
Run the Docker container.
$ docker run -d -p 80:80 keen/dashboards
Contributions are 11,000,000% welcome! That's a lot!
Please file issues for any bugs you find or features you'd like to see. And if you're up for it, send in a pull request.
To develop, you'll need to first install dependencies using Bower:
$ npm install -g bower
$ bower install
Note: Updates to the site backed by the gh-pages branch go live immediately once pull requests are reviewed and approved.
Note #2: This project is moving fast, so make sure and stay up to date. Here's what we suggest. Fork this repo, clone the fork, and add the original repo as a remote called upstream
:
$ git clone https://github.com/keen/dashboards.git
$ cd dashboards
$ git remote add upstream https://github.com/keen/dashboards.git
Pull from upstream
frequently to keep your local copy up to date:
$ git pull upstream gh-pages
Need a hand with something? Send us an email to [email protected] and we'll get back to you right away!
For technical questions, use the keen-io
tag on Stack Overflow.