Description:
A decision support system (DSS) is a composite tool that collects, organizes and analyzes business data to facilitate quality decision-making for management, operations and planning. A well-designed DSS aids decision makers in compiling a variety of data from many sources: raw data, documents, personal knowledge from employees, management, executives and business models. DSS analysis helps organizations to identify and solve problems, and make decisions.
Code Git Repos: https://github.com/egovernments/frontend/tree/dss-dashboard/web/dss-dashboard
Here below sample REST API calls with POSTMAN.
Type of users:
State Level Admin
Commissioner
Domain Level Employee
Dashboard List:
There are three type of dashboard,
Home page (refer figure 1).
Overview page (refer figure 2).
Module level dashboard (refer figure 3).
Home page:
Home page contains multiple cards, each card is clickable.
There are two types of cards, i.e, Overview card and module level card.
Overview and Module level card is differentiated by vizType,
Overview card: On click of overview card, it will navigate to overview page. vizType for Overview is collection.
Module Level card: On Click of Module level card, it will navigate to Module level dahsboard. vizType is module (i.e Property Tax, Trade License etc).
Request Payload for dashboardConfig :
auth-token : which is for authenticate the request and it will fetch from local storage key called “Employee.token”
DashboardConfig API Response:
roleName : Which type of user.
Visualizations : Key contains the all configuration for displaying the visualization like rows with charts etc please refer to the figure 1.3.
In Figure 1.3, vizType key will define the module UI like
Collection Chart & Module Chart refer the figure 1
2. Overview Dashboard
3. Module Level Dashboard
Visualizations List:
In dashboardConfig response visualizations key contains all rows & charts details(refer figure 1.3).
1.Each row contains the visual details like name,vizType,noUnit,isCollapsible,charts etc(refer figure 1.3).
name - Name of visualization.
vizType - type of visualization like COLLECTION,MODULE,METRIC-COLLECTION, PERFORMING-METRIC,CHART.
COLLECTION - In home page, contains the collection data (refer figure 1).
MODULE - In home page, contains the module level data (refer figure 1).
METRIC-COLLECTION - In Overview/Module Level Page, contains the collection data (refer figure 2.1).
PERFORMING-METRIC -In Overview/Module Level Page, contains the top/bottom performing data (refer figure 2.2).
CHART - In Overview/Module Level Page, contains the below visualizations (refer figure 2.3 to figure 2.7).
PIE CHART (refer figure 2.3)
LINE CHART (refer figure 2.4)
BAR CHART (refer figure 2.5)
HORIZONTAL BAR CHART (refer figure 2.6)
TABLE CHART (refer figure 2.7)
List of visualizations:
Figure : 2.1 - Metric-collection.
Figure : 2.2 - PERFORMING-METRIC.
Figure : 2.3 - CHART - PIE.
Figure : 2.4 - Chart - LINE.
Figure : 2.5 - Chart - BAR.
Figure : 2.6 - Chart - HORIZONTAL BAR.
Figure : 2.7 - Chart - TABLE.
Figure : 2.8 - GLOBAL FILTERS.
Figure : 2.9 - DOWNLOAD & SHARE BUTTON.
ULB Dashboard:
ULB Dashboard is having different filters, i.e ULB’s and Wards/Blocks. The data to the filters is loaded from below MDMS api,
https://egov-micro-dev.egovernments.org/egov-mdms-service/v1/_search
Each ULB dashboard, overview Dashboard and module level pages contains different filters, and are identified by roleName in configs api.
Wards/Blocks filter is dependable filter, which gets loaded on ULB selection.
In ULB dashboard, On page ULB filter will be applied across all the charts and for Performance chart default ULB filter will not be applied .
Overview and all module level page is having ULB dashboard.
GLOBAL Filters (refer figure 2.8) :
Filters will be loaded from MDMS api.
https://egov-micro-dev.egovernments.org/egov-mdms-service/v1/_search
Filters will be loaded on the basis of roleName,
Admin role: For Module level page, Date, DDR and ULB filter will be loaded
For Overview level page, Date, DDR, ULB and Service filter will be loaded
Commissioner role: For Module level page, Date, ULB and Wards/Blocks filters will be loaded.
For Overview page, Date, ULB and Service filters will be loaded.
3.Denomination filter:
Denomination filter having three option to display amount and number in a particular format.
Crore
Lack
Unit
Denomination filter will not be applied on the percentage and text(refer figure 2.10). Type of data is identified by symbol in plots of charts api.
Figure 2.10
Custom Date Filter:
If duration < 15 days, it will display data in days wise.
If duration <= 30 days, it will display data in week-wise.
If duration >30, it will display data in monthly wise.
Tabs:
Currently dashboard is having two types of tabs,
Revenue (refer figure : 4.1).
Service (refer figure : 4.1).
Tabs are identified by name in visualizations of config api.
Table Chart with drilldown:
Table chart visualization is having normal material UI datatable features like search,sort etc.
In table response filter key & drillDownChartId is having value means its Drill down table.
Cards:
Each card header is localized and having info icon with tooltip option which displays header and can display description.
Number of cards in row and in page is driven by backend. Backend provides row number to each card where it should be displayed.
Card containing option icon which contains Image download and Image share option.
Image download and share uses id from vizArray in order to differentiate each cards in a page.
Download and Share (refer figure 2.9) :
1.Download having two option to dowload data, i.e, Image and PDF
Share:
Share creates the Image/PDF and upload it S3 using below api and returns file id,
https://mseva-uat.lgpunjab.gov.in/filestore/v1/files
Using file Id file will be fetched using below api,
https://mseva-uat.lgpunjab.gov.in/filestore/v1/files/url
Each S3 image will be shortened using below api,
https://mseva-uat.lgpunjab.gov.in/egov-url-shortening/shortener
5. Configurations:
Github link for config : https://github.com/egovernments/frontend/blob/dss-dashboard/web/dss-dashboard/src/config/configs.js
BASE URL : End point of REST API for dashboard.
FILE Upload : End point of REST API for file upload.
FETCH FILE : End point of REST API for file fetch.
MDMS : End point of REST API for fetch MDMS Data.
SHORTEN URL : End point of REST API for Shorten URL, which is used for share via Email / What's app.
CHART COLOR CODE : Color code object for all charts.
MODULE LEVEL : for global filters, which contains services name & filter key.
SERVICES : for global filter, service filter.
6. Upload Localization keys:
code : pre-defined key for back-end.
message : message contains the value for the key.
module : rainmaker-dss.
locale : contains locale data.
for more details eGov team to be documented.
Module name: rainmaker-dss
NPM Module Used:
https://docs.google.com/spreadsheets/d/1AdwSGxUZoSmVcSc3PtujGMRCKpNaAEYgAn_8XNTF2vM/edit?usp=sharing
Steps to setup dss in Local :
Step 1: Run as independent , switch to dss-dashboard folder
Step 2: We have to get the below details from environment website and update it the localstorage in the browser.
Employee.tenant-id
Employee.user-info
Employee.token
Employee.module
Employee.locale
localization_en_IN
locale
Step 3: Run Yarn install and yarn start to start working on dss in local setup.