Steps to configure the project service
The project service provides APIs to create, update and manage a generic project. A project can have one or more of the following constructs: staff, tasks, beneficiaries and facilities. This service is shared across multiple eGov missions. The source code for this service resides here. For a deeper understanding, please refer to the following:
Define (if not present already) and assign the EMPLOYEE_COMMON role to all project actors.
Below are the actions or APIs exposed by the Project service used by the Works platform. Note that the "id" in the attributes needs to be unique and may be different in the implementation environment. It need not be exactly the same as what is shown below.
The following table shows the mapping between the APIs and the roles:
The following role-action mappings derived from the above table are configured for the Project service in the roleactions.json in MDMS. A sample is provided below. Make sure the action ID is correct and corresponds to actions.json.
Add Id Format as configured in the ‘IdFormat.json’ file of the ‘common-masters’ module here. This format is used to generate the unique ID of the project.
Add persister file project-management-system-persister.yml
as defined here.
Add indexer file projectmanagementsystem-indexer.yml as defined here.
1. ProjectType
2. Department
The image name of the service is available in the release charts in the DevOps repository. The service can be deployed using Helm commands.
Environment variables to be configured in the Helm chart for the service are:
Add the ‘db-host’,’db-name’,’db-url’,’domain’ and all the digit core platform services configurations (Idgen, workflow, user etc.) in respective environments yaml file.
Add project-management-system related environment variables values. A sample from a ‘dev’ environment yaml file is provided below:
Add the ‘egov-mdms-service’ related configuration to the respective environment yaml file. Make sure you change the git-sync branch name to one that is appropriate for the environment.
Check the project management system persister file is added in the egov-persister.persister-yml-path variable. If not, please add the way it's done here.
Check the project management system indexer file is added in the egov-indexer.egov-indexer-yaml-repo-path variable. If not, please add the way it's done here.
Check the project management system persister file is added in the audit-service.persist-yml-path variable. If not, please add the way it's done here.
Make sure to add the DB(Postgres and flyway) username & password in the respective environment secrets yaml file the way it's done here.
Make sure to add the DIGIT core service-related secrets that are configured in the respective environment secret file the way it's done here.
NOTE: Restart egov-mdms-service, egov-accesscontrol, egov-persister, audit-service, egov-indexer and zuul after the above changes are performed.
Refer to the API spec for a description of the APIs. The associated Postman scripts are provided here for reference. Use these to understand the request payloads.
Role Code | Description | API |
---|---|---|
PROJECT_CREATOR
Project Creator
/project/v1/_create
/project/v1/_update
/project/v1/_search
PROJECT_VIEWER
Project Viewer
/project/v1/_search
EMPLOYEE_COMMON
Employee Common
/inbox/v2/_search