What is this all about?

It's about analyzing COVID-19 data. We provide you with the data, you do the nice stuff to visualize it how you think it's best.

After you create an analysis, you can save the link for later and every time you click the link it will run on the updated data from coronamap.it.

How is the input data structured?

Your code is executed within a function which gets 3 parameters in input:

  1. data
  2. treeData
  3. populationData

Parameter `data`

This variable contains the history of COVID19 data by location, structured like this:

            {
               "italy": {
                  "CONFIRMED": [
                     ...
                     { x: '2020-03-28 18:00:00': y: "80"},
                     { x: '2020-03-29 18:00:00': y: "90"},
                     { x: '2020-03-30 18:00:00': y: "100"},
                     ...
                  ],
                  "RECOVERY": [
                     ...
                     { x: '2020-03-28 18:00:00': y: "97"},
                     { x: '2020-03-29 18:00:00': y: "98"},
                     { x: '2020-03-30 18:00:00': y: "99"},
                     ...
                  ],
                  "DEATH": [
                     { x: '2020-03-28 18:00:00': y: "0"},
                     { x: '2020-03-29 18:00:00': y: "0"},
                     { x: '2020-03-30 18:00:00': y: "0"},
                     ...
                  ],
               },
               "italy_lombardia": {
                  "CONFIRMED": [
                     ...
                     { x: '2020-03-28 18:00:00': y: "80"},
                     { x: '2020-03-29 18:00:00': y: "90"},
                     { x: '2020-03-30 18:00:00': y: "100"},
                     ...
                  ],
                  "RECOVERY": [
                     ...
                     { x: '2020-03-28 18:00:00': y: "97"},
                     { x: '2020-03-29 18:00:00': y: "98"},
                     { x: '2020-03-30 18:00:00': y: "99"},
                     ...
                  ],
                  "DEATH": [
                     ...
                     { x: '2020-03-28 18:00:00': y: "0"},
                     { x: '2020-03-29 18:00:00': y: "0"},
                     { x: '2020-03-30 18:00:00': y: "0"},
                     ...
                  ],
               "italy_lombardia_milano": {
                  "CONFIRMED": [
                     ...
                     { x: '2020-03-28 18:00:00': y: "80"},
                     { x: '2020-03-29 18:00:00': y: "90"},
                     { x: '2020-03-30 18:00:00': y: "100"},
                     ...
                  ],
                  "RECOVERY": [
                     ...
                     { x: '2020-03-28 18:00:00': y: "97"},
                     { x: '2020-03-29 18:00:00': y: "98"},
                     { x: '2020-03-30 18:00:00': y: "99"},
                     ...
                  ],
                  "DEATH": [
                     ...
                     { x: '2020-03-28 18:00:00': y: "0"},
                     { x: '2020-03-29 18:00:00': y: "0"},
                     { x: '2020-03-30 18:00:00': y: "0"},
                     ...
                  ],
               } 
            }   
         
Where 'italy', 'italy_lombardia', 'italy_lombardia_milano' are all location keynames. We have data for all over the world, you can see it on coronamap.it. For a comprehensive list, download the current data here.

Parameter `treeData`

This variable contains the same data of the previous `data` variable but structured like a tree, and with some more infos:

            {
               "world": {
                  "entry": null,
                  "children": {
                     ...
                     "italy": {
                        "entry": {
                           "CONFIRMED": {...},
                           "DEATH": {
                              "value":"10023",
                              "datetime":"2020-03-28 21:56:47",
                              "type":"DEATH",
                              "keyName":"italy",
                              "label":"Italia"
                           },
                           "RECOVERY": {...}
                        },
                        "children": {
                           "italy_lombardia": {
                              "entry": {...},
                              "children": {...}
                           }
                        }
                     },
                     "france": {
                        ...
                     }
                     ...
                  }
               } 
            }   
         
To see the whole data, see it here.

Parameter `populationData`

This variable contains the population count of the various locations, indexed by keyName:

            {
               "australia_australiancapitalterritory": 396857,
               "australia_westernaustralia": 2589000,
               "australia_northernterritory": 244300000,
               "australia_tasmania": 515000000,
               "australia_southaustralia": 1677000,
               "australia_victoria": 6359000,
               "australia_newsouthwales": 7544000,
               "australia_queensland": 5071000,
               "canada_manitoba": 1373859,
               "canada_saskatchewan": 1190567,
               "canada_quebec": 542298000,
               "canada_alberta": 4371000,
               "canada_ontario": 14570000,
               "canada_londonon": 404699000,
               "canada_calgaryalberta": 133
               ...
            }
         
To see the whole data, see it here.

How is the output data structured?

            {
               "title": "Your title here" //can be dynamic, it will be recalculated with new data every time the analysis will be shown
               "info": {
                  "author": "Your name here", //should be static: it will be stored and never updated again
                  "staticTitle": "A static title for your analysis", //should be static: it will be stored and never updated again
                  "description": "A brief static description of your chart/analysis/model" //should be static: it will be stored and never updated again
               }
               "data": {
                  //a Chart.js chart object. See documentation linked below
               }
            }   
         
Chart.js Documentation

Who are we?

DMNK Engineering, a modest software developement company based in Italy and France.

Feel free to give us some feedback.