Static data - JSON format
Problem Statement
Define a JSON format to store the static data to be displayed in Dashboard Metrics
Approach 1 - Single JSON file for all static data configuration
{ "metricsSummary": { "metricsAsOnYear": "2019", "onboardSummary": { "stateCount": 26 }, "etbSummary": { "etbPrintCount": 20000000, "boardCount": 26 }, "contentCreationSummary": { "languages": 15, "teachers": 6000 } }, "onboardMetrics": { "states": [ { "stateName": "Maharashtra", "onboardStatus": "Live", "academicYear": "2018-19" }, { "stateName": "Assam", "onboardStatus": "In Progress", "academicYear": "2019-20" } ] }, "etbPrintMetrics": { "boards": [ { "board": "DSERT", "stateName": "Karnataka", "classes": "1,2,6,8", "subjects": "English, Science", "etbPrintCount": 20000, "etbAcademicYear": "2018-19", "status": "Live" }, { "board": "CBSE", "stateName": "-", "classes": "6,8", "subjects": "Maths, Social Studies", "etbPrintCount": 15000, "etbAcademicYear": "2019-20", "status": "Inprogress" } ] } }
Approach 2 - Separate JSON files to configure summary and drill down data
Metrics Summary | Onboard Metrics Drill-down Data | ETB Metrics Drill-down Data |
{ "metricsSummary": { "metricsAsOnYear": "2019", "onboardSummary": { "stateCount": 26 }, "etbSummary": { "etbPrintCount": 20000000, "boardCount": 26 }, "contentCreationSummary": { "languages": 15, "teachers": 6000 } } } | { "onboardMetrics": { "states": [ { "stateName": "Maharashtra", "onboardStatus": "Live", "academicYear": "2018-19" }, { "stateName": "Assam", "onboardStatus": "In Progress", "academicYear": "2019-20" } ] } } | { "etbPrintMetrics": { "boards": [ { "board": "DSERT", "stateName": "Karnataka", "classes": "1,2,6,8", "subjects": "English, Science", "etbPrintCount": 20000, "etbAcademicYear": "2018-19", "status": "Live" }, { "board": "CBSE", "stateName": "-", "classes": "6,8", "subjects": "Maths, Social Studies", "etbPrintCount": 15000, "etbAcademicYear": "2019-20", "status": "Inprogress" } ] } } |
---|
Approach 3 - Separate metric-wise(summary+drill-down data) JSON configuration files
Onboard Metrics | ETB Metrics | Content Creation Metrics |
{ "onboardMetrics": { "metricsAsOnYear": "2019", "stateCount": 26, "states": [ { "stateName": "Maharashtra", "onboardStatus": "Live", "academicYear": "2018-19" }, { "stateName": "Assam", "onboardStatus": "In Progress", "academicYear": "2019-20" } ] } } | { "etbPrintMetrics": { "metricsAsOnYear": "2019", "boardCount": 29, "etbTotalPrintCount": 4500000000, "boards": [ { "board": "DSERT", "stateName": "Karnataka", "classes": "1,2,6,8", "subjects": "English, Science", "etbPrintCount": 20000, "etbAcademicYear": "2018-19", "status": "Live" }, { "board": "CBSE", "stateName": "-", "classes": "6,8", "subjects": "Maths, Social Studies", "etbPrintCount": 15000, "etbAcademicYear": "2019-20", "status": "Inprogress" } ] } } | { "contentCreationMetrics": { "metricsAsOnYear": "2019", "teachers": 6000, "languages": 15 } } |
---|