I have a series of things I would like to implement together with a series of challenges related to them. I am trying to create a very simple (so I think) dashboard where I can visualize data that has the form:
measurement_place | color | counts | measurement_time |
This can be visualized as a stack column chart in excel, at looks something like this:
I have around 100 different values for "measurement_place". I am taking hourly measurements for every one of these 100 "measurement_place", so that at the end, every dump file has 7 days worth of hourly measurement for every one of the 100 places. So an example of how the table looks for 3 different places at the same measurement time is as follows:
measurement_place color counts measurement_time
place_1 blue 2 2016-11-13 18:00:00
place_2 orange 1 2016-11-13 18:00:00
place_2 black 1 2016-11-13 18:00:00
place_2 red 29 2016-11-13 18:00:00
place_2 yellow 1 2016-11-13 18:00:00
place_2 blue 170 2016-11-13 18:00:00
place_3 purple 6 2016-11-13 18:00:00
place_3 red 10 2016-11-13 18:00:00
place_3 green 3 2016-11-13 18:00:00
place_3 yellow 1 2016-11-13 18:00:00
place_3 blue 1066 2016-11-13 18:00:00
place_3 cyan 9 2016-11-13 18:00:00
place_3 rosa 2 2016-11-13 18:00:00
place_3 orange 3 2016-11-13 18:00:00
The colors value can have one of 20 possible colors, not necessarily all present per measurement_time. One requisite to present the data on the bar chart is that the counts per given color have to be 5 or greater, in case of the counts being below 5 they should be grouped under "other_color".
I can, of course, have this tables as CSV's or JSON files.
What I would like to achieve is to generate a sort of dashboard where on one side I have the chart with the stack columns, where I should be able to interactively select a sub-period of time (e.g. from the whole week to some hours or days) and on the other side some pie chart, that is generated on client side, with the statistics for the period of time is summarized.
I mention it has to be processed on client side because I don't have any infrastructure to host my dashboard and yet I need it to be available online. In order to do this I have found https://www.smallvictori.es/ which from its description "takes files in a Dropbox folder and turns them into a website. No CMS, no installation, no server, no coding required". So basically I have tried (with success) creating a web page by placing an html file together with some D3js scripts to generate a single, non-interactive summary pie chart, nothing complicated at all.
I am wondering if it would be possible to do something similar to create the dashboard, use "smallvictories" to host the files needed to render/generate the interactive dashboard created with D3js DCjs and perhaps crossfilter. I have experience with Python and very basic knowledge of javascript, but have never minded getting my hands dirty to learn what is needed to accomplish my projects. It would be great to hear about possible limitations due to the fact that the processing has to be done on client side, I don't know what the recommended limits for the sizes of the CSV or JSON files are (I guess it is not so optimal to have a browser download files over 100 mb every time the dashboards should be created). Perhaps D3js is not the best way to go? Maybe a combination of python with something else is better to do the processing?