The client needs a developer to create a real-time chart dashboard system based on an existing bootstrap theme.
The dashboard should be developed to run on Windows 2012 R2 / IIS 8.5 so .NET development is the best approach here.
The web application should allow them to create multiple, single-page dashboards. A single dashboard page should work as follows:
- Read an .XML definition that contains all properties to create the page
- Cache the definition for performance reasons until the .xml definition is updated
- Create the dashboard page by adding all the content as defined in the .xml
- Use AJAX refresh to refresh each individual chart on the page separately
What should be in the .xml definition for a page:
- The theme to apply for the page from the bootstrap theme
- Header and Footer sections (HTML CDATA content)
- List of charts to show on the page. For each chart:
- Type of chart (all charts available in bootstrap theme)
- Display properties (width, height, CSS classes needed, title)
- SQL source+query and field mapping properties (see below)
- Refresh frequency in seconds
Data mapping: Data for each chart will be sourced from MYSQL queries. The .XML definition should be flexible and allow fields from the SQL query to be mapped to properties of the chart, taking into consideration that each chart will need different properties to build up properly.
Data sources: The web. config will contain the data source definitions (standard approach). Each SQL query in the .xml definition must reference one of these data source(s). A .NET provider for MYSQL will be part of the installation
Finally, documentation should be provided about the .XML definition created.
Our Assumptions: We assume that the client will provide the database for the raw data along with chart details like which type of charts should be created and the chart should be static or dynamic.
We have worked on similar projects in which the admin is given the ability to create dashboard and chart widgets, apply filters, add thresholds, etc. The data comes through API and it can be seen graphically.
On the basis of the assumption, the ballpark estimation for this task is a month but will vary depending on the further details received on the queries as asked. We can also use Angular JS technology over Bootstrap as it’s newer and faster.