BPA Service Setup and Configuration
Softwares to be installed:
Java 1.8
Eclipse
Postgres
PhpPgAdmin
Postman (Application)
Respective Git MiddleWare
Kubectl
Kafka
Take the code pull from the git:
Need to consider 2 repositories for code to run locally
Municipal services - where our bpa code exists and some dependency services also available here
https://github.com/egovernments/municipal-services.git .Core Services - Where dependency services exists to run our code locally
https://github.com/egovernments/core-services.git.
Import the required projects to eclipse
From municipal-services import bpa-services, bpa-calculator and land-services.
From core-services import user service, idgen service, mdms service, location service, localization service, workflow service, egov-persister.
Before u run the application u should have following setups to run the application smoothly
kafka set up in your system which is running fine.
Download the latest version of kafka from here. https://kafka.apache.org/downloads
Run the below commands based on your system types
For linux: in kafka folder path
Example: D:\kafka_2.13-2.4.0
> bin/zookeeper-server-start.sh config/zookeeper.properties
> bin/kafka-server-start.sh config/server.properties
For Windows: in windows path
Example: D:\kafka_2.13-2.4.0\bin\windows
start zookeeper-server-start.bat ..\..\config\zookeeper.properties
start kafka-server-start.bat ..\..\config\server.properties
And lombok setup for eclipse
For ref: https://www.journaldev.com/18124/java-project-lombokKubectl setup based on the requirement
To get the pods: kubectl get pods
To port forward: kubectl port-forward <<pod name>> <<port number>>:8080
To get the logs: kubectl get logs
After all the setups are done successfully, try to run the application locally.
BPA-Services How to run the application in local:
Check the services which are connected to local and which are connected to dev
Which are connected to dev no need to change anything.
If it is connected to local check the services are in below list
IDGEN – can run locally or can point to dev from cmd prompt
PERSISTER – can run locally
MDMS – can directly point to dev or can run in local
LOCATION – can directly point to dev
WORKFLOW – can point to dev or can run locally
LOCALIZATIONS – we can directly point this to dev
USER-SERVICE – need to point to dev from cmd prompt
LAND-SERVICE – need to run locally
BPA-CALCULATOR – can run locally or can point to dev.
If the changes are from these services follow the below process to run those respective services --
for core services:
IDGEN:
Approach 1: Directly point this to dev from the application.properties in bpa-services
Approach 2: Point this to local and give the port forward to dev by using kubctl.
Note: We are not running this service locally
PERSISTER:
U need to run it in local and need to add respective yaml files in persister resource folder which are bpa-persister.yml and egov-workflow-v2-persister.yml and also land-persister.yml
And need to add these in persister application.properties repo path
Note: Please check whether data is is saving or not in local data base(DB).
MDMS:
to run local:
For running this in local need to change in 2 file that is application.properties and MDMSApplicationRunnerImpl
In application.properties need to change the paths for the master-config url as path of master-config.json and for config path as upto pb/bh
In MDMSApplicationRunnerImpl need to change the data in a function from path to file
to point to dev:
Approach 1: Directly point this to dev from the application.properties in bpa-services
Approach 2: Give it as local connection in BPA application.properties and port forward to dev by using kubectl.
Postman Collection: https://www.getpostman.com/collections/c59b5c6190719ecd306a
LOCATION :
Approach 1: Give it a local connection in BPA application.properties and port forward to dev by using kubectl.
Approach 2: Directly point this to dev from the application.properties in bpa-services
Note: Not tried it in local / may got errors so pointing to dev.
Postman collection: https://www.getpostman.com/collections/4f6a25a4fb32572af5ff
WORKFLOW:
to point to dev:
Approach 1: Directly point this to dev from the application.properties in bpa-services
Approach 2: Give it as local connection in BPA application.properties and port forward to dev by using kubectl.
to run local:
can run locally by pointing to local database, but for this need to create the workflow locally using the workflow create api.
Postman collection: https://www.getpostman.com/collections/aa30be8a8b9de4c13aa8
USER-SERVICE:
Approach 1: Give it as local connection in BPA application.properties and port forward to dev by using kubectl.
Approach 2: Directly point this to dev from the application.properties in bpa-services
Note: In local not able to run the application successfully, so following dev.
Postman Collection: https://www.getpostman.com/collections/60bbd6aed27605dcc270
LOCALIZATIONS:
Approach 1: Directly point this to dev from the application.properties in bpa-services
Approach 2: Give it as local connection in BPA application.properties and port forward to dev by using kubectl.
Postman Collection: https://www.getpostman.com/collections/12cc4c3855be9699c278
Changes from Municipal services:
BPA-Calculator:
to run local:
can run locally by pointing to local database.
to point to dev:
Approach 1: Directly point this to dev from the application.properties in bpa-services
Approach 2: Give it as local connection in BPA application.properties and port forward to dev by using kubectl.
Land-Service:
to run local:
can run locally by pointing to local database.
to point to dev:
Approach 1: Directly point this to dev from the application.properties in bpa-services
Approach 2: Give it as local connection in BPA application.properties and port forward to dev by using kubectl.
Other than these services can directly by pointing to dev url.
Note: After running the application successfully please check if the data is saving in db or not.
All Dependent Services:
egov-user - ( Manage user )
tl-services - Stakeholder Registration ( Registration process of Stakeholder is handled by this service )
egov-user-event ( What’s New and Events )
egov-filestore ( To store the documents uploaded by the user )
egov-idgen ( To generate the application No, Permit No )
egov-indexer ( To index the bpa data )
egov-localization ( To use the localized messages )
egov-location ( To store the address locality )
egov-mdms ( Configurations/master data used in the application is served by MDMS )
egov-notification-sms ( Service to send SMS to the users involved in the application )
egov-persister ( Helps to persist the data )
egov-searcher ( Search query used to simply the search )
egov-workflow-v2 ( Workflow configuration for different BPA application is configured )
pdf-service ( Receipt’s, permitorder etc.. and prepared )
billing-service ( Create demands and bills for the fees to be collected )
collection-services ( Create receipt for the payment received for the bills )
bpa-calculator ( Calculates the fees to be collected at different stages)
land-services ( land information related to BPA application is stored )
dcr-services ( get and validate Edcr data )