Vendor Registry v1.3
Overview
Vendor Registry is a system that enables ULBEmployees to create and search Vendor i.e Desluding Operator (DSO) and driver entities with appropriate vehicle Entities for FSM Application. This document contains the details about how to setup the Vendor and describe the functionalities provided.
Pre-requisites
Before you proceed with the configuration, make sure the following pre-requisites are met -
Java 8
Kafka server is up and running
egov-persister service is running and has vendor-persister config path added in it
PSQL server is running and database is created to store FSM Application data
Following services should be up and running:
egov-mdms-service
egov-user-service
boundary-service
vehicle-service
Key Functionalities
EXISTING
Added payment payment preference and agency attributes for DSO
Added gender attribute in the create and update APIs for Vendor
Updated the Vendor search API to added vehicleCapacity in the search parameter to search all vendors matching the vehicle capacity specified in the search parameter.
ENHANCEMENT
Introduced Vendor Tab.
Option to add/remove/update Vendor individually.
User can add vehicle and driver.
search for the list of all vehicles not associated with any vendors.
User can enable or disable the vendor.
Introduced Driver Tab.
Option to add/remove/update driver individually.
User should be able to create/update/enable/disable a driver from driver screen.
Functionality to add/remove directly driver to vendor.
Deployment Details
Deploy the latest version of vendor
Add vendor-persister.yml file in config folder in git and add that path in persister . (The file path is to be added in environment yaml file in param called
persist-yml-path
) and restartegov-persister-service.
Integrate the following below changes in vendor-persister.yml
https://github.com/egovernments/configs/commit/95dd26f926ec44d07448926ee4b6b7e031847a57
Configuration Details
https://github.com/egovernments/configs/commit/56da639add16c412056aeac119517abd434a5ece
https://github.com/egovernments/configs/commit/1659e4fa57b1810eb88b0bae71f41311f37e87b1
https://github.com/egovernments/configs/commit/2337e21a2650dd9a08a8221f6980ace631e96cb4
https://github.com/egovernments/configs/commit/482185f1a79ad094f716e480922374e40c6e217a
https://github.com/egovernments/configs/commit/9ee374eb8bd94fa91825b938330bac6cd8559f50
https://github.com/egovernments/configs/commit/04368c79f56197dec2ccef0bfb2a1e1621645dfc
https://github.com/egovernments/configs/commit/8a6ec5618543509a4b0f600ae663af51cefc3d74
https://github.com/egovernments/configs/commit/71b52978fc2eff113ffeb25068c8f76e09a7b2b8
https://github.com/egovernments/configs/commit/5b868894bf1e76935cde9c016f263290ba5efbf1
https://github.com/egovernments/configs/commit/a36bb6e58539fc979ac1542e7382ee0a714d661b
https://github.com/egovernments/configs/commit/ad83851d7141e939c8e2b9005da568795c9878df
https://github.com/egovernments/configs/commit/e95bbeb0d835496dad0dc2ce709d90f31e4d01af
https://github.com/egovernments/configs/commit/6f42ca265a87dbed277c3897cd8f6c67bd27ca06
https://github.com/egovernments/configs/commit/2b79b92f10f809dedcb27216061d1e09f0324ae7
MDMS Configuration
https://github.com/egovernments/egov-mdms-data/commit/fb8e53037bf5ff40ca78506b02a8d7b04dc96e88
https://github.com/egovernments/egov-mdms-data/commit/632ee94e95d74ddb1d3f306ec83e3de02a329a2a
https://github.com/egovernments/egov-mdms-data/commit/3e608a844be189d5be1d0657b4d8b1b663b6e94c
Business Service / Workflow Configuration
NA
Actions & Role Action Mapping
After adding Actions and role-action mappings , restart the egov-mdms-service
Actions
{
"id": {{PLACEHOLDER1}},
"name": "Create Vendor/DSO",
"url": "/vendor/v1/_create",
"displayName": "Create Vehicle",
"orderNumber": 0,
"enabled": false,
"serviceCode": "vendor",
"code": "null",
"path": ""
},
{
"id": {{PLACEHOLDER2}},
"name": "Search Vendor/DSO",
"url": "/vendor/v1/_search",
"displayName": "Search Vendor",
"orderNumber": 1,
"enabled": false,
"serviceCode": "vendor",
"code": "null",
"path": ""
},
{
"id": {{PLACEHOLDER3}},
"name": "Vendor Driver Create",
"url": "/Vendor/driver/v1/_create",
"displayName": "Vendor Driver Create",
"orderNumber": 1,
"parentModule": "",
"enabled": false,
"serviceCode": "vendor",
"code": "null",
"path": ""
},
{
"id": {{PLACEHOLDER4}},
"name": "Vendor Driver Update",
"url": "/Vendor/driver/v1/_update",
"displayName": "Vendor Driver Update",
"orderNumber": 1,
"parentModule": "",
"enabled": false,
"serviceCode": "vendor",
"code": "null",
"path": ""
},
{
"id": {{PLACEHOLDER5}},
"name": "Vendor Driver Search",
"url": "/Vendor/driver/v1/_search",
"displayName": "Vendor Driver Search",
"orderNumber": 1,
"parentModule": "",
"enabled": false,
"serviceCode": "vendor",
"code": "null",
"path": ""
},
{
"id": {{PLACEHOLDER6}},
"name": "Update Vendor/DSO",
"url": "/vendor/v1/_update",
"displayName": "Update Vendor",
"orderNumber": 0,
"enabled": false,
"serviceCode": "vendor",
"code": "null",
"path": ""
}
Role Action Mapping
[
{
"rolecode": "FSM_ADMIN",
"actionid": "{{PLACEHOLDER1}}",
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "FSM_ADMIN",
"actionid": "{{PLACEHOLDER2}}",
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "FSM_DSO",
"actionid": "{{PLACEHOLDER2}}",
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "FSM_EDITOR_EMP",
"actionid": "{{PLACEHOLDER2}}",
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "FSM_VIEW_EMP",
"actionid": "{{PLACEHOLDER2}}",
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "FSM_EMP_FSTPO",
"actionid": "{{PLACEHOLDER2}}",
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "CITIZEN",
"actionid": "{{PLACEHOLDER2}}",
"actioncode": "",
"tenantId": "pb"
}
]
Infra Ops Configuration
Configurations that we can manage through values.yml of vendor in infraops repo as follows
values.yml for vehicle can be found
Description | name in values.yml | Current Value |
---|---|---|
Kafka Consumer Group |
|
|
kafka topic to which service push data to save new Vendor |
|
|
mdms service host |
|
|
Vehicle Service host |
|
|
User service host |
|
|
Location Service Host |
|
|
Configurations sample in Values.yml
Data Setup
DSO for FSM System is a vendor, For every city/ULB DSO should be created with the Representative details as owner, associated vehicles and drivers
Sample Curl
Integration
Integration Scope
Any system or digit module can integrated with Vendor Service, helps to manage the Vendor with the vehicles, drivers and owner for representative and login for the representative/owner to login into the system to carry our role specific operations
Integration Benefits
Validation of DSO/Vendor availability
Fetch the vehicle assigned to the DSO
Fetch the Drivers assigned to the DSO
Steps to Integration
FSM to call
vendor/v1/_search
to fetch the DSO’sFSM can call
vendor/v1/_search
to fetch the DSO’s and the respective vehicles and drivers
Interaction Diagram
Reference Docs
Doc Links
Title | Link |
Workflow Technical Document | |
User Technical Document | |
MDMS Technical Document | NEEDS TO BE UPDATED |
IDGen Technical Document | NEEDS TO BE UPDATED |
Localization Technical Document | NEEDS TO BE UPDATED |
Persister Technical Document | NEEDS TO BE UPDATED |
SMS Notification Technical Document | NEEDS TO BE UPDATED |
API Contract | |
Postman Scripts |
API List
Title | Link |
| |
| |
| |
| |
| |
| |
|