diff --git a/business-services/.github/ISSUE_TEMPLATE/bug_report.md b/business-services/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index dd84ea7824f..00000000000
--- a/business-services/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: ''
-labels: ''
-assignees: ''
-
----
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To Reproduce**
-Steps to reproduce the behavior:
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Desktop (please complete the following information):**
- - OS: [e.g. iOS]
- - Browser [e.g. chrome, safari]
- - Version [e.g. 22]
-
-**Smartphone (please complete the following information):**
- - Device: [e.g. iPhone6]
- - OS: [e.g. iOS8.1]
- - Browser [e.g. stock browser, safari]
- - Version [e.g. 22]
-
-**Additional context**
-Add any other context about the problem here.
diff --git a/business-services/.github/ISSUE_TEMPLATE/feature_request.md b/business-services/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index bbcbbe7d615..00000000000
--- a/business-services/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-title: ''
-labels: ''
-assignees: ''
-
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/business-services/.github/workflows/codeql-analysis.yml b/business-services/.github/workflows/codeql-analysis.yml
deleted file mode 100644
index c158e9ff66b..00000000000
--- a/business-services/.github/workflows/codeql-analysis.yml
+++ /dev/null
@@ -1,67 +0,0 @@
-# For most projects, this workflow file will not need changing; you simply need
-# to commit it to your repository.
-#
-# You may wish to alter this file to override the set of languages analyzed,
-# or to provide custom queries or build logic.
-#
-# ******** NOTE ********
-# We have attempted to detect the languages in your repository. Please check
-# the `language` matrix defined below to confirm you have the correct set of
-# supported CodeQL languages.
-#
-name: "CodeQL"
-
-on:
- push:
- branches: [ master, *release-*, RELEASE*, develop ]
- pull_request:
- # The branches below must be a subset of the branches above
- branches: [ master ]
- schedule:
- - cron: '16 17 * * 3'
-
-jobs:
- analyze:
- name: Analyze
- runs-on: ubuntu-latest
-
- strategy:
- fail-fast: false
- matrix:
- language: [ 'java' ]
- # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
- # Learn more:
- # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v2
-
- # Initializes the CodeQL tools for scanning.
- - name: Initialize CodeQL
- uses: github/codeql-action/init@v1
- with:
- languages: ${{ matrix.language }}
- # If you wish to specify custom queries, you can do so here or in a config file.
- # By default, queries listed here will override any specified in a config file.
- # Prefix the list here with "+" to use these queries and those in the config file.
- # queries: ./path/to/local/query, your-org/your-repo/queries@main
-
- # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
- # If this step fails, then you should remove it and run the build manually (see below)
- - name: Autobuild
- uses: github/codeql-action/autobuild@v1
-
- # âšī¸ Command-line programs to run using the OS shell.
- # đ https://git.io/JvXDl
-
- # âī¸ If the Autobuild fails above, remove it and uncomment the following three lines
- # and modify them (or add more) to build your code if your project
- # uses a compiled language
-
- #- run: |
- # make bootstrap
- # make release
-
- - name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v1
diff --git a/business-services/.gitignore b/business-services/.gitignore
deleted file mode 100644
index 5c2027f43d0..00000000000
--- a/business-services/.gitignore
+++ /dev/null
@@ -1,192 +0,0 @@
-# Compiled class file
-*.class
-
-# Log file
-*.log
-
-# BlueJ files
-*.ctxt
-
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.jar
-*.war
-*.nar
-*.ear
-*.zip
-*.tar.gz
-*.rar
-
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
-
-### STS ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-### IntelliJ IDEA ###
-.idea
-*.iws
-*.iml
-*.ipr
-
-# Java / Maven
-.classpath
-.project
-.settings/
-.mvnw/
-target/
-
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-
-# Diagnostic reports (https://nodejs.org/api/report.html)
-report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
-
-# Runtime data
-pids
-*.pid
-*.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-*.lcov
-
-# nyc test coverage
-.nyc_output
-
-# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-bower_components
-
-# node-waf configuration
-.lock-wscript
-
-# Compiled binary addons (https://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directories
-node_modules/
-jspm_packages/
-
-# TypeScript v1 declaration files
-typings/
-
-# TypeScript cache
-*.tsbuildinfo
-
-# Optional npm cache directory
-.npm
-
-# Optional eslint cache
-.eslintcache
-
-# Optional REPL history
-.node_repl_history
-
-# Output of 'npm pack'
-*.tgz
-
-# Yarn Integrity file
-.yarn-integrity
-
-# dotenv environment variables file
-.env
-.env.test
-
-# parcel-bundler cache (https://parceljs.org/)
-.cache
-
-# next.js build output
-.next
-
-# nuxt.js build output
-.nuxt
-
-# vuepress build output
-.vuepress/dist
-
-# Serverless directories
-.serverless/
-
-# FuseBox cache
-.fusebox/
-
-# DynamoDB Local files
-.dynamodb/
-
-
-# Macbook General
-.DS_Store
-.AppleDouble
-.LSOverride
-
-# Icon must end with two \r
-Icon
-
-
-# Thumbnails
-._*
-
-# Files that might appear in the root of a volume
-.DocumentRevisions-V100
-.fseventsd
-.Spotlight-V100
-.TemporaryItems
-.Trashes
-.VolumeIcon.icns
-.com.apple.timemachine.donotpresent
-
-# Directories potentially created on remote AFP share
-.AppleDB
-.AppleDesktop
-Network Trash Folder
-Temporary Items
-.apdisk
-
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-
-# Windows thumbnail cache files
-Thumbs.db
-Thumbs.db:encryptable
-ehthumbs.db
-ehthumbs_vista.db
-
-# Dump file
-*.stackdump
-
-# Folder config file
-[Dd]esktop.ini
-
-# Recycle Bin used on file shares
-$RECYCLE.BIN/
-
-# Windows Installer files
-*.cab
-*.msi
-*.msix
-*.msm
-*.msp
-
-# Windows shortcuts
-*.lnk
\ No newline at end of file
diff --git a/business-services/.sonarcloud.properties b/business-services/.sonarcloud.properties
deleted file mode 100644
index 8b137891791..00000000000
--- a/business-services/.sonarcloud.properties
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/business-services/CODEOWNERS b/business-services/CODEOWNERS
deleted file mode 100644
index 9a9bb36ed04..00000000000
--- a/business-services/CODEOWNERS
+++ /dev/null
@@ -1 +0,0 @@
-* @egovernments/services-pr-reviewer @talele08 @kavi-egov
diff --git a/business-services/Jenkinsfile b/business-services/Jenkinsfile
deleted file mode 100644
index 65396b22e12..00000000000
--- a/business-services/Jenkinsfile
+++ /dev/null
@@ -1,3 +0,0 @@
-library 'ci-libs'
-
-buildPipeline(configFile: './build/build-config.yml')
\ No newline at end of file
diff --git a/business-services/LICENSE b/business-services/LICENSE
deleted file mode 100644
index 335fd5f8652..00000000000
--- a/business-services/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2019 eGovernments Foundation
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/business-services/README.md b/business-services/README.md
deleted file mode 100644
index 23e64b89c3d..00000000000
--- a/business-services/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# egov-java-template
-template
diff --git a/business-services/build/build-config.yml b/business-services/build/build-config.yml
deleted file mode 100644
index 3e7071d16ed..00000000000
--- a/business-services/build/build-config.yml
+++ /dev/null
@@ -1,86 +0,0 @@
-#
-# config:
-# - name: < Name of the job, foo/bar would create job named bar inside folder foo >
-# build:
-# - work-dir: < Working directory of the app to be built >
-# dockerfile: < Path to the dockerfile, optional, assumes dockerfile in working directory if not provided >
-# image-name: < Docker image name >
-# -
-# -
-#
-# config:
-# - name: < Name of the job, foo/bar would create job named bar inside folder foo >
-# build:
-# - work-dir: < Working directory of the app to be built >
-# dockerfile: < Path to the dockerfile, optional, assumes dockerfile in working directory if not provided >
-# image-name: < Docker image name >
-# -
-# -
-config:
- - name: "builds/business-services/billing-service"
- build:
- - work-dir: "billing-service"
- image-name: "billing-service"
- dockerfile: "build/maven/Dockerfile"
- - work-dir: "billing-service/src/main/resources/db"
- image-name: "billing-service-db"
-
- - name: "builds/business-services/collection-services"
- build:
- - work-dir: "collection-services"
- image-name: "collection-services"
- dockerfile: "build/maven/Dockerfile"
- - work-dir: "collection-services/src/main/resources/db"
- image-name: "collection-services-db"
-
- - name: "builds/business-services/egf-instrument"
- build:
- - work-dir: "egf-instrument"
- image-name: "egf-instrument"
- dockerfile: "build/maven/Dockerfile"
- - work-dir: "egf-instrument/src/main/resources/db"
- image-name: "egf-instrument-db"
-
- - name: "builds/business-services/egf-master"
- build:
- - work-dir: "egf-master"
- image-name: "egf-master"
- dockerfile: "build/maven/Dockerfile"
- - work-dir: "egf-master/src/main/resources/db"
- image-name: "egf-master-db"
-
- - name: "builds/business-services/egov-apportion-service"
- build:
- - work-dir: "egov-apportion-service"
- image-name: "egov-apportion-service"
- dockerfile: "build/maven/Dockerfile"
- - work-dir: "egov-apportion-service/src/main/resources/db"
- image-name: "egov-apportion-service-db"
-
- - name: "builds/business-services/egov-hrms"
- build:
- - work-dir: "egov-hrms"
- image-name: "egov-hrms"
- dockerfile: "build/maven/Dockerfile"
- - work-dir: "egov-hrms/src/main/resources/db"
- image-name: "egov-hrms-db"
-
- - name: "builds/business-services/finance-collections-voucher-consumer"
- build:
- - work-dir: "finance-collections-voucher-consumer"
- image-name: "finance-collections-voucher-consumer"
- dockerfile: "build/maven/Dockerfile"
- - work-dir: "finance-collections-voucher-consumer/src/main/resources/db"
- image-name: "finance-collections-voucher-consumer-db"
-
- - name: "builds/business-services/dashboard-analytics"
- build:
- - work-dir: "dashboard-analytics"
- image-name: "dashboard-analytics"
- dockerfile: "build/maven/Dockerfile"
-
- - name: "builds/business-services/dashboard-ingest"
- build:
- - work-dir: "dashboard-ingest"
- image-name: "dashboard-ingest"
- dockerfile: "build/maven/Dockerfile"
diff --git a/business-services/build/maven/Dockerfile b/business-services/build/maven/Dockerfile
deleted file mode 100644
index b97b9cdc49b..00000000000
--- a/business-services/build/maven/Dockerfile
+++ /dev/null
@@ -1,27 +0,0 @@
-
-FROM egovio/alpine-maven-builder-jdk-8:1-master-NA-6036091e AS build
-ARG WORK_DIR
-WORKDIR /app
-
-# copy the project files
-COPY ${WORK_DIR}/pom.xml ./pom.xml
-COPY build/maven/start.sh ./start.sh
-
-# not useful for stateless builds
-# RUN mvn -B dependency:go-offline
-
-COPY ${WORK_DIR}/src ./src
-RUN mvn -B -f /app/pom.xml package
-
-
-# Create runtime image
-FROM egovio/8-openjdk-alpine
-
-
-WORKDIR /opt/egov
-
-COPY --from=build /app/target/*.jar /app/start.sh /opt/egov/
-
-RUN chmod +x /opt/egov/start.sh
-
-CMD ["/opt/egov/start.sh"]
diff --git a/business-services/build/maven/start.sh b/business-services/build/maven/start.sh
deleted file mode 100644
index 08bdd8de28e..00000000000
--- a/business-services/build/maven/start.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-if [[ -z "${JAVA_OPTS}" ]];then
- export JAVA_OPTS="-Xmx64m -Xms64m"
-fi
-
-if [ x"${JAVA_ENABLE_DEBUG}" != x ] && [ "${JAVA_ENABLE_DEBUG}" != "false" ]; then
- java_debug_args="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${JAVA_DEBUG_PORT:-5005}"
-fi
-
-exec java ${java_debug_args} ${JAVA_OPTS} ${JAVA_ARGS} -jar /opt/egov/*.jar
\ No newline at end of file
diff --git a/business-services/dashboard-analytics/CHANGELOG.md b/business-services/dashboard-analytics/CHANGELOG.md
deleted file mode 100644
index 1e69eb5d424..00000000000
--- a/business-services/dashboard-analytics/CHANGELOG.md
+++ /dev/null
@@ -1,57 +0,0 @@
-#Changelog
-
-All notable changes to this module will be documented in this file.
-
-## 1.1.8 - 2023-02-02
-
-- Transition from 1.1.8-beta version to 1.1.8 version
-
-## 1.1.8-beta - 2022-11-04
-
-- caching added to search API for performance improvement
-
-## 1.1.7 - 2022-03-02
-- LineChart ResponseHandler modified to consider the empty value for particular interval
-- TodaysCollection property added to the Metric chart, when this property is true query response is expected to have todaysDate and lastUdatedTime aggreagations which would be returned as the plots
-- Performance Chart response handler changes to consider only the value of the aggregations which does not have buckets
-- AdvanceTable Response handler changes to consider valueType of the chart when pathTypeDataMapping is not configured
-- preActionTheory property added to metric chart type, which help to run the computeHelper on the aggregation path before applying action of the chart
- Ex: preActionTheory:{"ActualCollection":"repsonseToDifferenceOfDates"}
-
-
-
-
-## 1.1.6 - 2022-01-13
-- Updated to log4j2 version 2.17.1
-
-
-## 1.1.5 - 2021-07-23
-- Code changes related to new properties.
-- Here are the properties which are added
- - isRoundOff from configuration will round off the specific number value.
- - chartSpecificProperty, XtableColumnOrder to give the xtable column order as we mention in this configuration
-
-## 1.1.4 - 2021-05-11
-- security fixes
-
-## 1.1.3 - 2021-02-26
-- Updated egov mdms host name in application.properties
-
-## 1.1.2 - 2020-11-18
-- Removed default DDR hard coding
-
-
-## 1.1.1 - 2020-09-01
-
-- Added LOCALSETUP.md and README.md
-- updated Plot object to support String dataType
-
-## 1.1.0 - 2020-06-24
-
-- Added typescript definition generation plugin
-- Upgraded to `tracer:2.0.0-SNAPSHOT`
-- Upgraded to spring boot `2.2.6-RELEASE`
-
-## 1.0.0
-
-- Base version
diff --git a/business-services/dashboard-analytics/LOCALSETUP.md b/business-services/dashboard-analytics/LOCALSETUP.md
deleted file mode 100644
index 909e2334630..00000000000
--- a/business-services/dashboard-analytics/LOCALSETUP.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Local Setup
-
-To setup the dss-analytics service in your local system, clone the [Business Service repository](https://github.com/egovernments/business-services).
-
-## Dependencies
-
-### Infra Dependency
-
-- [ ] Postgres DB
-- [ ] Redis
-- [x] Elasticsearch
-- [ ] Kafka
- - [ ] Consumer
- - [ ] Producer
-
-## Running Locally
-
-To run the dss-analytics in local system, you need to port forward below services.
-
-```bash
- kubectl port-forward -n egov {egov-mdms} 8088:8080
-```
-
-
-Update below listed properties in `application.properties` before running the project:
-
-```ini
-
-- services.esindexer.host=http://localhost:9200/ (elastic search host)
-- services.esindexer.host.port=9200 (elastic search port)
-- services.esindexer.username=changeme (elastic search db username)
-- services.esindexer.password=changeme (elastic search db password)
-
-```
-
diff --git a/business-services/dashboard-analytics/README.md b/business-services/dashboard-analytics/README.md
deleted file mode 100644
index abb7b14ea94..00000000000
--- a/business-services/dashboard-analytics/README.md
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-# dashboard-analytics
-
-
-DSS Analytics Module is used to return aggregated data from elastic search indexes which is displayed on UI to gain meaningful insights from the data
-
-### DSS Analytics
-The analytics service creates/wraps queries based on the configuration provided and executes it on the elastic search to fetch the aggregated data.
-This aggregated data is then transformed to AggregateDTO by Response Handlers. AggregateDTO contains list of object called Plots. This plot object are created based on the chart type defined in the configuration. The module also provides functionality to compare the data with previous time period,which can be configured
-by defining insight in the chartAPI configuration for the required chart.
-
-
-
-
-### Project Structure
-*Packages*
- - constant - Contains all the constant values
- - controller - Controllers for the app.
- - dao - DAO layer
- - dto - contains POJO's which are used to manage data returned from queries
- - enums - Enum definitions
- - exception - POJO for the module.
- - handler - Reponse Handlers which converts the aggregated data to AggregationDTO object based on chart type defined
- - helper - Helper classes to do computations on data
- - model - POJO's related to chart config
- - org.service - Consists of all services containing the business logic.
- - query.model - POJO's related to building query
- - repository - Fetches data from elastic search
- - service - Implementations of services which help with fetching data
- - utils - Contains utility functions.
-
-
-### Resources
-- Granular details about the API's can be found in the [swagger api definition](https://raw.githubusercontent.com/egovernments/business-services/master/Docs/dss-dashboard/DSS%20Analytics%20Dashboard%20YAML%20Spec%201.0.0.yaml)
-- Postman collection for all the API's can be found in the [postman collection](https://www.getpostman.com/collections/0894f347322bed5bea1a)
-
-
-## Build & Run
-
-
- mvn clean install
- java -jar target/analytics-1.1.0-SNAPSHOT.jar
-
-
-## Dependencies
-
-
-- Elastic search database to fetch data from index.
-
-
-
diff --git a/business-services/dashboard-analytics/pom.xml b/business-services/dashboard-analytics/pom.xml
deleted file mode 100644
index 6f99f6fbdc5..00000000000
--- a/business-services/dashboard-analytics/pom.xml
+++ /dev/null
@@ -1,199 +0,0 @@
-
- 4.0.0
- com.tarento
- analytics
- 1.1.8-SNAPSHOT
-
- Analytic Service
- Project for handling the data for analytics visualization
- http://maven.apache.org
-
- org.springframework.boot
- spring-boot-starter-parent
- 2.2.6.RELEASE
-
-
-
- 2.17.1
- UTF-8
- UTF-8
- 1.8
- 3.4.2
-
-
-
-
- junit
- junit
- 3.8.1
- test
-
-
- org.egov.services
- tracer
- 2.0.0-SNAPSHOT
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework
- spring-beans
- 5.2.20.RELEASE
-
-
-
- org.springframework.boot
- spring-boot-starter-jdbc
- 2.0.0.RELEASE
-
-
- org.cache2k
- cache2k-spring
- 1.2.0.Final
- compile
-
-
-
- com.google.code.gson
- gson
- 2.8.0
-
-
-
- org.springframework.boot
- spring-boot-starter-jersey
- 1.2.0.RELEASE
-
-
-
- com.fasterxml.jackson.dataformat
- jackson-dataformat-xml
-
-
- org.projectlombok
- lombok
-
-
- org.apache.poi
- poi-ooxml
- 3.10-FINAL
-
-
-
- javax.ws.rs
- jsr311-api
- 1.1.1
-
-
- org.apache.cxf
- cxf-rt-frontend-jaxws
- ${cxf.version}
-
-
- org.apache.cxf
- cxf-rt-transports-http
- ${cxf.version}
-
-
- org.apache.cxf
- cxf-rt-frontend-jaxrs
- ${cxf.version}
-
-
- org.apache.cxf
- cxf-tools-java2ws
- ${cxf.version}
-
-
- org.apache.commons
- commons-lang3
- 3.4
-
-
-
-
- org.elasticsearch.client
- elasticsearch-rest-high-level-client
- 6.2.4
-
-
- org.elasticsearch
- elasticsearch
- 6.2.4
-
-
- com.github.fge
- json-schema-validator
- 2.2.6
-
-
-
- commons-io
- commons-io
- 2.6
-
-
-
- org.json
- json
- 20180813
-
-
- com.googlecode.json-simple
- json-simple
- 1.1
-
-
- com.amazonaws
- aws-java-sdk
- 1.11.550
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
- cz.habarta.typescript-generator
- typescript-generator-maven-plugin
- 2.22.595
-
-
- generate
-
- generate
-
- process-classes
-
-
-
- jackson2
-
- com.tarento.analytics.model.dashboardConfig.Chart
- com.tarento.analytics.model.dashboardConfig.Dashboard
- com.tarento.analytics.model.dashboardConfig.Header
- com.tarento.analytics.model.dashboardConfig.Visualization
-
-
- com.tarento.analytics.enums.ChartType$ChartType:ChartType
- com.tarento.analytics.enums.ResponseCode$ResponseCode:ResponseCode
- com.tarento.analytics.constant.Constants$ClienServiceType:ClienServiceType
- com.tarento.analytics.constant.Constants$Interval:Interval
-
- Digit
- true
- module
-
-
-
-
-
diff --git a/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/AnalyticApp.java b/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/AnalyticApp.java
deleted file mode 100644
index a968bb02ec1..00000000000
--- a/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/AnalyticApp.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.tarento.analytics;
-
-import org.cache2k.extra.spring.SpringCache2kCacheManager;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.cache.CacheManager;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Profile;
-import org.springframework.web.client.RestTemplate;
-import org.springframework.web.servlet.config.annotation.CorsRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-
-import com.tarento.analytics.constant.Constants;
-
-import java.util.concurrent.TimeUnit;
-
-
-@SpringBootApplication
-@EnableCaching
-public class AnalyticApp {
- public static void main( String[] args ) {
- SpringApplication.run(AnalyticApp.class, args);
- }
-
- @Value("${cache.expiry.time.in.minutes}")
- private int cacheExpiry;
-
- @Value("${cache.capacity}")
- private int cacheCapacity;
-
- @Bean
- public RestTemplate restTemplate() {
- return new RestTemplate();
- }
-
- @Bean
- public WebMvcConfigurer corsConfigurer() {
- return new WebMvcConfigurerAdapter() {
- @Override
- public void addCorsMappings(CorsRegistry registry) {
- registry.addMapping("/**").allowedMethods(Constants.GET, Constants.POST,Constants.PUT, Constants.DELETE, Constants.OPTIONS).allowedOrigins("*")
- .allowedHeaders("*");
- }
- };
- }
-
- @Bean
- @Profile("!test")
- public CacheManager cacheManager(){
- return new SpringCache2kCacheManager().addCaches(b->b.name("versions").expireAfterWrite(cacheExpiry, TimeUnit.MINUTES)
- .entryCapacity(cacheCapacity));
- }
-}
diff --git a/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/ConfigurationLoader.java b/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/ConfigurationLoader.java
deleted file mode 100644
index cd2bb9de3af..00000000000
--- a/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/ConfigurationLoader.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package com.tarento.analytics;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.apache.commons.io.IOUtils;
-import org.egov.tracer.config.TracerConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Import;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.ResourceLoader;
-import org.springframework.core.io.support.ResourcePatternUtils;
-import org.springframework.stereotype.Component;
-import org.springframework.util.ObjectUtils;
-
-import javax.annotation.PostConstruct;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.charset.Charset;
-import java.util.HashMap;
-import java.util.Map;
-
-@Import({TracerConfiguration.class})
-@Component("configurationLoader")
-public class ConfigurationLoader {
-
- private static Logger logger = LoggerFactory.getLogger(ConfigurationLoader.class);
- private Map nameContentMap = new HashMap<>();
- @Autowired
- private ResourceLoader resourceLoader;
- @Autowired
- private ObjectMapper objectMapper;
-
- @Value("${config.schema.paths}")
- private String RESOURCE_LOCATION;
-
- // private static final String RESOURCE_LOCATION = "file://home/darshan/Tarento/DataPlatform/analytics2/analytics/src/main/resources/schema/*.json";
- public static final String ROLE_DASHBOARD_CONFIG = "RoleDashboardMappingsConf.json";
- public static final String MASTER_DASHBOARD_CONFIG = "MasterDashboardConfig.json";
-
-
- /**
- * Loads config resources
- * @throws Exception
- */
- @PostConstruct
- public void loadResources() throws Exception {
- Resource[] resources = getResources(RESOURCE_LOCATION);
-
- for (Resource resource : resources) {
- String jsonContent = getContent(resource);
- ObjectNode jsonNode = (ObjectNode) objectMapper.readTree(jsonContent);
- nameContentMap.put(resource.getFilename(), jsonNode);
- }
- logger.info("Number of resources loaded " + nameContentMap.size());
-
- }
-
- /**
- * Obtains a ObjectNode w.r.t given resource/file name in classpath*:schema
- * @param name
- * @return
- */
- public ObjectNode get(String name) {
- return nameContentMap.get(name);
- }
-
- /**
- * Loads all the resources/files with a given pattern *.json
- * @param pattern path with *json
- * @return
- * @throws IOException
- */
- private Resource[] getResources(String pattern) throws IOException {
- Resource[] resources = ResourcePatternUtils.getResourcePatternResolver(resourceLoader).getResources(pattern);
- return resources;
- }
-
- /**
- * Returns a content of resource
- *
- * @param resource
- * @return
- */
- private String getContent(Resource resource) {
- String content = null;
- InputStream is = null;
- try {
- is = resource.getInputStream();
- byte[] encoded = IOUtils.toByteArray(is);
- content = new String(encoded, Charset.forName("UTF-8"));
-
- } catch (IOException e) {
- logger.error("Cannot load resource " + resource.getFilename());
-
- } finally{
- try {
- if(!ObjectUtils.isEmpty(is))
- is.close();
- }catch(IOException e){
- logger.error("Error while closing input stream.");
- }
- }
- return content;
- }
-
-}
diff --git a/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/constant/Constants.java b/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/constant/Constants.java
deleted file mode 100644
index 26624e5a21b..00000000000
--- a/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/constant/Constants.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package com.tarento.analytics.constant;
-
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class Constants {
- /**
- * Allowed Origins for CORS Bean
- */
- public static final String GET = "GET";
- public static final String POST = "POST";
- public static final String PUT = "PUT";
- public static final String DELETE = "DELETE";
- public static final String OPTIONS = "OPTIONS";
-
-
- public static int UNAUTHORIZED_ID = 401;
- public static int SUCCESS_ID = 200;
- public static int FAILURE_ID = 320;
- public static String UNAUTHORIZED = "Invalid credentials. Please try again.";
- public static String PROCESS_FAIL = "Process failed, Please try again.";
- public static String SUCCESS= "success";
-
-
- //chart format
-
- public static final String D3 = "d3";
- public static final String CHARTJS = "chartjs";
-
- //chart type
- public static final String BAR = "bar";
- public static final String PIE ="pie";
- public static final String STACKEDBAR ="stackedbar";
- public static final String LINE ="line";
- public static final String HORIZONTAL_BAR="horizontalBar";
- public static final String DOUGHNUT="doughnut";
- public static final String Heat = "heat";
- public static final String RADAR ="radar";
-
- public static final Long FEEDBACK_MESSAGE_TIMEOUT = 2000l;
-
- public static final String STORE_ID = "storeId";
-
- public static final String PLACEMENTS_DASHBOARD = "DASHBOARD";
- public static final String PLACEMENTS_HOME = "HOME";
-
- public static final List RATING_LIST = new ArrayList<>(Arrays.asList(1l,2l,3l,4l,5l));
- public static final List RATING_LIST_STRING = new ArrayList<>(Arrays.asList("1","2","3","4","5"));
- public static final List RATING_LIST_STRING_STAR = new ArrayList<>(Arrays.asList("1 Star","2 Star","3 Star","4 Star","5 Star"));
-
- public interface Modules {
- final static String HOME_REVENUE = "HOME_REVENUE";
- final static String HOME_SERVICES = "HOME_SERVICES";
- final static String COMMON = "COMMON";
- final static String PT = "PT";
- final static String TL = "TL";
- }
-
- public interface KafkaTopics {
- final static String NEW_CONTENT_MESSAGE = "SaveContent";
- final static String SIMULATOR_TRANSACTION = "SaveTransaction";
- }
-
- public interface ConfigurationFiles {
- final static String CHART_API_CONFIG = "ChartApiConfig.json";
- }
-
- public interface JsonPaths {
- final static String CHART_TYPE = "chartType";
- final static String QUERIES = "queries";
- final static String AGGREGATION_QUERY= "aggrQuery";
- final static String INDEX_NAME = "indexName";
- final static String REQUEST_QUERY_MAP = "requestQueryMap";
- final static String DATE_REF_FIELD = "dateRefField";
- final static String AGGS = "aggs";
- final static String AGGREGATIONS = "aggregations" ;
- final static String MODULE = "module";
- final static String INTERVAL_VAL = "intervalvalue";
- final static String INTERVAL = "interval";
- final static String IS_MDMS_ENABALED = "isMdmsEnabled";
- final static String INSIGHT = "insight";
- final static String DAYS = "days";
- final static String TRANSLATE_CODE = "translateTenantCode";
-
- }
-
- public interface Filters {
- final static String MODULE = "module";
- final static String FILTER_ALL = "*";
- }
-
- public interface Catagory {
- final static String SEVICE = "service";
- final static String REVENUE = "revenue";
- }
-
- public interface DashBoardConfig {
- final static String ROLES = "roles";
- final static String ROLE_ID = "roleId";
- final static String DASHBOARDS = "dashboards";
- final static String VISUALISATIONS = "visualizations";
- final static String NAME = "name";
- final static String ID = "id";
- final static String TITLE = "title";
-
- }
- public interface MDMSKeys {
- final static String CODE = "code";
- final static String DISTRICT_CODE = "districtCode";
- final static String DDR_NAME = "ddrName";
- final static String TENANTS = "tenants";
- final static String KEY = "key";
- final static String TENANT_ID = "tenantId";
-
- }
-
- public enum Interval {
- week, month, year, day
- }
- public interface PostAggregationTheories {
- final static String RESPONSE_DIFF_DATES = "repsonseToDifferenceOfDates";
- }
-
- public enum ClienServiceType {
- DEFAULT_CLIENT ,
- MDMS_CLIENT
- }
-
- public static final SimpleDateFormat DASHBOARD_DATE_FORMAT = new SimpleDateFormat("MMM dd, yyyy");
-
- //data type
- public static final String STRING_DATATYPE = "string";
-
- public static final String MDMS_REQUESTINFO = "{\"RequestInfo\":{\"authToken\":\"\"},\"MdmsCriteria\":{\"tenantId\":\"{TENANTID_PLACEHOLDER}\",\"moduleDetails\":[{\"moduleName\":\"tenant\",\"masterDetails\":[{\"name\":\"tenants\"}]}]}}";
-
- public static final String TENANTID_PLACEHOLDER = "{TENANTID_PLACEHOLDER}";
-
-}
diff --git a/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/constant/ElasticSearchConstants.java b/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/constant/ElasticSearchConstants.java
deleted file mode 100644
index 09963b4dce8..00000000000
--- a/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/constant/ElasticSearchConstants.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.tarento.analytics.constant;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class ElasticSearchConstants {
- public static final String LTE = "<=";
- public static final String LT = "<";
- public static final String GTE = ">=";
- public static final String GT = ">";
- public static final String ASC_ORDER = "ASC";
- public static final String STARTS_WITH = "startsWith";
- public static final String ENDS_WITH = "endsWith";
- public static final List upsertResults =
- new ArrayList<>(Arrays.asList("CREATED", "UPDATED", "NOOP"));
- public static final String SOFT_MODE = "soft";
- public static final String RAW_APPEND = ".raw";
- public static final String DAY_OF_WEEK = "dayOfWeek";
- public static final String DAY = "day";
- public static final String HOUR = "hour";
-}
diff --git a/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/constant/ErrorCode.java b/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/constant/ErrorCode.java
deleted file mode 100644
index 56a8e5cc44a..00000000000
--- a/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/constant/ErrorCode.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.tarento.analytics.constant;
-
-public class ErrorCode {
-
- public static final String ERR320= "320";
-
-
-
-
-}
diff --git a/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/controllers/DashboardController.java b/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/controllers/DashboardController.java
deleted file mode 100644
index a019ad1de43..00000000000
--- a/business-services/dashboard-analytics/src/main/java/com/tarento/analytics/controllers/DashboardController.java
+++ /dev/null
@@ -1,230 +0,0 @@
-package com.tarento.analytics.controllers;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.tarento.analytics.org.service.ClientServiceFactory;
-import com.tarento.analytics.service.AmazonS3ClientService;
-import org.apache.commons.lang3.StringUtils;
-import org.json.JSONArray;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.context.request.ServletWebRequest;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.tarento.analytics.constant.Constants;
-import com.tarento.analytics.constant.ErrorCode;
-import com.tarento.analytics.dto.AggregateRequestDto;
-import com.tarento.analytics.dto.AggregateRequestDtoV3;
-import com.tarento.analytics.dto.RequestDto;
-import com.tarento.analytics.dto.RequestDtoV3;
-import com.tarento.analytics.dto.RoleDto;
-import com.tarento.analytics.dto.UserDto;
-import com.tarento.analytics.exception.AINException;
-import com.tarento.analytics.org.service.ClientService;
-import com.tarento.analytics.service.MetadataService;
-import com.tarento.analytics.utils.PathRoutes;
-import com.tarento.analytics.utils.ResponseGenerator;
-import org.springframework.web.multipart.MultipartFile;
-
-@RestController
-@RequestMapping(PathRoutes.DashboardApi.DASHBOARD_ROOT_PATH)
-public class DashboardController {
-
- public static final Logger logger = LoggerFactory.getLogger(DashboardController.class);
-
- @Autowired
- private MetadataService metadataService;
- @Autowired
- private AmazonS3ClientService amazonS3ClientService;
- @Autowired
- private ObjectMapper objectMapper;
-
-/* @Autowired
- private ClientService clientService;*/
-
- @Autowired
- private ClientServiceFactory clientServiceFactory;
-
- @RequestMapping(value = PathRoutes.DashboardApi.FILE_PATH, method = RequestMethod.POST)
- public Map uploadFile(@RequestPart(value = "file") MultipartFile file)
- {
- Map response = new HashMap<>();
- try{
- String imgUrl = this.amazonS3ClientService.uploadFileToS3Bucket(file, true);
- response.put("message", "file [" + file.getOriginalFilename() + "] uploading request submitted successfully.");
- response.put("url", imgUrl);
- }catch (Exception e){
- logger.error("S3 file upload : "+e.getMessage());
- response.put("message", e.getMessage());
- response.put("url", "");
- }
-
- return response;
- }
-
- @DeleteMapping(value = PathRoutes.DashboardApi.FILE_PATH)
- public Map deleteFile(@RequestParam("file_name") String fileName)
- {
- Map response = new HashMap<>();
- try{
- this.amazonS3ClientService.deleteFileFromS3Bucket(fileName);
- response.put("message", "file [" + fileName + "] removing request submitted successfully.");
- }catch (Exception e ){
- logger.error("S3 file upload : "+e.getMessage());
- response.put("message", e.getMessage());
-
- }
- return response;
-
- }
-
- @GetMapping(value = PathRoutes.DashboardApi.TEST_PATH, produces = MediaType.APPLICATION_JSON_VALUE)
- public String getTest() throws JsonProcessingException {
- return ResponseGenerator.successResponse("success");
-
- }
-
- @RequestMapping(value = PathRoutes.DashboardApi.GET_DASHBOARD_CONFIG + "/{dashboardId}", method = RequestMethod.GET)
- public String getDashboardConfiguration(@PathVariable String dashboardId, @RequestParam(value="catagory", required = false) String catagory, @RequestHeader(value = "x-user-info", required = false) String xUserInfo)
- throws AINException, IOException {
- Gson gson = new GsonBuilder().setPrettyPrinting().create();
- UserDto user = new UserDto();
- user.setId(new Long("10007"));
- user.setOrgId("1");
- user.setCountryCode("");
- RoleDto role = new RoleDto();
- role.setId(new Long("6"));
- role.setName("HR User");
- List roles = new ArrayList<>();
- roles.add(role);
- user.setRoles(roles);
- //gson.fromJson(xUserInfo, UserDto.class);
-
- return ResponseGenerator.successResponse(metadataService.getDashboardConfiguration(dashboardId, catagory, user.getRoles()));
- }
-
- @RequestMapping(value = PathRoutes.DashboardApi.GET_CHART_V2, method = RequestMethod.POST)
- public String getVisualizationChartV2( @RequestBody RequestDto requestDto, @RequestHeader(value = "x-user-info", required = false) String xUserInfo, ServletWebRequest request)
- throws IOException {
-
- /*logger.info("Request Detail:" + requestDto);
- Gson gson = new GsonBuilder().setPrettyPrinting().create();
- UserDto user = gson.fromJson(xUserInfo, UserDto.class);*/
-
- UserDto user = new UserDto();
- logger.info("user"+xUserInfo);
-
- //Getting the request information only from the Full Request
- AggregateRequestDto requestInfo = requestDto.getAggregationRequestDto();
-
- // For performance enhancement, this creates a key which will cache the response
- String requestBodyString = objectMapper.writeValueAsString(requestInfo);
- String headersString = objectMapper.writeValueAsString(requestDto.getHeaders());
- StringBuilder finalString = new StringBuilder(requestBodyString).append(headersString);
- requestInfo.setHashKey(finalString.toString().hashCode());
-
- Map headers = requestDto.getHeaders();
- String response = "";
- try {
- if (headers.isEmpty()) {
- logger.error("Please provide header details");
- throw new AINException(ErrorCode.ERR320, "header is missing");
- }
- if (headers.get("tenantId") == null) {
- logger.error("Please provide tenant ID details");
- throw new AINException(ErrorCode.ERR320, "tenant is missing");
-
- }
-
- if(requestDto.getAggregationRequestDto() == null) {
- logger.error("Please provide requested Visualization Details");
- throw new AINException(ErrorCode.ERR320, "Visualization Request is missing");
- }
- /*if(requestDto.getAggregationRequestDto().getRequestId() == null) {
- logger.error("Please provide Request ID");
- throw new AINException(ErrorCode.ERR320, "Request ID is missing. Insights will not work");
- }*/
-
-
- // To be removed once the development is complete
- if(StringUtils.isBlank(requestInfo.getModuleLevel())) {
- requestInfo.setModuleLevel(Constants.Modules.HOME_REVENUE);
- }
-
- Object responseData = clientServiceFactory.get(requestInfo.getVisualizationCode()).getAggregatedData(requestInfo, user.getRoles());
- response = ResponseGenerator.successResponse(responseData);
-
- } catch (AINException e) {
- logger.error("error while executing api getVisualizationChart");
- response = ResponseGenerator.failureResponse(e.getErrorCode(), e.getErrorMessage());
- }
- return response;
- }
-
-/*
- @RequestMapping(value = PathRoutes.DashboardApi.GET_CHART_V3, method = RequestMethod.POST)
- public String getVisualizationChartV3(@RequestBody RequestDtoV3 requestDtoV3, @RequestHeader(value = "x-user-info", required = false) String xUserInfo, ServletWebRequest request)
- throws IOException {
-
- */
-/*logger.info("Request Detail:" + requestDto);
- Gson gson = new GsonBuilder().setPrettyPrinting().create();
- UserDto user = gson.fromJson(xUserInfo, UserDto.class);*//*
-
-
- UserDto user = new UserDto();
- logger.info("user"+xUserInfo);
-
- //Getting the request information only from the Full Request
- AggregateRequestDtoV3 requestInfoV3 = requestDtoV3.getAggregationRequestDto();
- Map headers = requestDtoV3.getHeaders();
- //requestInfo.getFilters().putAll(headers);
- String response = "";
- try {
- if (headers.isEmpty()) {
- logger.error("Please provide header details");
- throw new AINException(ErrorCode.ERR320, "header is missing");
- }
- if (headers.get("tenantId") == null) {
- logger.error("Please provide tenant ID details");
- throw new AINException(ErrorCode.ERR320, "tenant is missing");
- }
- // To be removed once the development is complete
- if(StringUtils.isBlank(requestInfoV3.getModuleLevel())) {
- requestInfoV3.setModuleLevel(Constants.Modules.HOME_REVENUE);
- }
-
- List