Skip to content
the-maux edited this page Jan 14, 2021 · 3 revisions

Chartboard is a system for creating dashboards, written in JavaScript and Python. Its widgets (‘tiles’ in Chartboard’s terminology) are completely separated from data sources, which provides great flexibility and relatively high degree of possible customizations.

Because of its intended target (displaying various data and statistics in your office), it was originally written to be optimized for larger screens, but now it can also displayed on a smartphone/tablette, thanks to the responsivity of flexbox.

  1. Defining a dashboard layout (number of lines, columns, types of tiles etc.).
  2. Clear separation between tiles and data sources.
  3. Ability to create own tiles and scripts querying data sources (e.g. Jira, Bamboo, Confluence etc.).
  4. Feeding tiles via REST API.

Configuration

You will need on your system the following requirements

  • python >= 3.6
  • django >= 2.0
  • redis >= 5.0

Or 🐋 Docker installed, Or a ☁️ cloud Provider

All variables used in Chartboard are defined in the Config/properties.json
Full documentation is here

Dashboard(s)

The list of dashboard(s) to display is defined by the number of yaml file present in the Config/ directory
If there are multiple files present, the dasboard will rotate like a viewpager
There are two color mode: Black & White, you can also add a title
Documentation is here

The tiles

There are 3 type of available : ChartJS, Texts, HtmlObject
This tiles are update with API, with API_TOKEN set in production mode
The data are serialized in Json, inside a redis.

1. ChartJS tiles

This ChartJS tiles herite directly from the ChartJS librarie
Check the official samples from ChartJS to see the different possibility: here
And their awesome documentation is here
This tiles are configured with default value to propose a easy way to use them
But this configurations can be change in the 'meta' of the tile by API
Exemple configuration possibility with tile bar_chart is here

2. Text tiles

There a 5 text tiles present:

  • Just Value
    • Displaying only 1 Value
  • Simple Value
    • Displaying 1 value et 2 subvalue on the bottom left & right
  • Big Value
    • Displaying 1 value 4 subvalue
  • Listing
    • Display a simple listing (scroll if too many elements)
  • Text
    • Just a simple text, with HTML escaped

Also, you can set a Background color, and the title, wich are optional
See the documentation for more detail

3. Others tiles

  • Iframe
  • Streaming
    • Display live stream, by simply referencing the url
  • Custom
    • Just a simple tile, to let you easily import yours with html/css/js