Updated: 04/12/2016

Background Research: Dashboard


Introduction

Dashboard project is a web-page or a site which will be displaying data in some visual form. Users will be able to choose settings such as time frame manipulating the data, therefore boosting analysis and reporting of the trends.

Although, this part of the project is not our priority anymore due to the changes in the needs of the whole project, our team has done our initial research of the topic: analysing files provided by the client and searching for various visualising libraries that could be used for the integration with the database using NoSQL.

For example, from the specified requirements provided to our team we have been able to restrict our research only to the libraries that do not use SQL but JSON instead, such as D3.js for instance. This also allows better visualisation tools and performance due to limitations of SQL databases, however, it requires databases to be converted into JSON.


Features


Name of the feature: Receive data
Part of the project: Dashboard
Use case: In order to visualise information, it is ought to either receive it from a server, or to read it from there.
Limitation: The data has to be defined in a specific format which allows its reading and visualisation, otherwise, it would be a blank page.

Name of the feature: Visualisation
Part of the project: Dashboard
Use case: The main feature of the project - visualising the data to ease analysis and data understanding.
Limitation: It might not show raw figures but rather general trends.

Name of the feature: Different forms of visualisation
Part of the project: Dashboard
Use case: Each data has to be visualised in its own unique way, be it a bar chart or a diagram. Therefore, there could be different visualisation technique used for each type of data.
Limitation: It might not show raw figures but rather general trends.


Existing Solutions

In the summer of 2016, an MSc Computer Science team from UCL attempted to develop the front end component of the Dashboards project. The client passed on the code they had turned in. Upon compiling it, it was found that the websites that had been developed, were blank. Upon further investigation, it has been found that the backend for this project is no longer being hosted, however the client has instructed the Core team to re-host this backend on the new Azure cluster. Once this has been done, we should be able to establish how functional the code is. From discussion with the client however, it would appear that a working product was not delivered. From a cursory glance of the code, we can glean that the previous team used an Angular 2 - Bootstrap framework for the website. It was also found that they had utilised d3.js for data visualisation. They also used the c3.js library, which allows the state of the chart to be controlled via its’ API. It allows the user to focus on data series and select data points etc. Also of interest, was the fact that the team appeared to be using d3.js and fusioncharts.js simultaneously. This appeared odd, as from initial research, both technologies seem to achieve the same goal. On the whole, the previous team left very little documentation, and there seems to be a complete lack of comments within the code itself, so it is difficult to ascertain how it works.