DIGIT: Code contribution process

DIGIT: Code contribution process

Who can contribute the code to the DIGIT product?

Internal implementation teams like Punjab, UKD, or Implementation partners like BEL, PMIDC, PwC, Transerve, etc, or any individual contributor/volunteer.

 

What can be contributed?

  • Bug fixes

  • New modules

  • New service

  • New features

  • Enhancements or improvements to the existing feature



How to contribute?

  • Please create a contributor GIT account in the name of the implementation partners name if the contribution is from the partners. In-house implementation teams can contribute from the Individual eGov GIT account names.

  • Please fork the product GIT repository from the following repositories depending on which service you are contributing:

  • Create a feature branch either from develop or master branch from the above repository. Preferably develop branch since this will be WIP branch for the latest product changes and your contribution will be considered for the next release and merged to the master branch as part of the product release cycle. Reach out to eGov if you don’t have access to this repository.

  • Apply your code changes. Please make sure the code/feature/module is tested.

  • Raise a PR to the develop branch from the product repository. User contributor GIT account while raising the PR. Use proper PR and commit messages to give brief details about what code changes you are contributing. Recommend to drop a mail with the details of PRs if there are multiple PRs. 

  • There will be a code review from the DIGIT product engineering team for the PR raised. The review comments will be added and the same will be notified to the contributor.

  • The code review observations as to be fixed by the contributor on the same PR that was raised initially. 

  • The PR will be merged and notified back to the contributor once all the code review observations are fixed and the reviewer is satisfied with the code changes. 

  • This code will be picked up by the DIGIT product engineering team for the QA in the ongoing or upcoming releases and will be released as part of the DIGIT product after QA and Product sign-off.

 

 

MDMS, Configs, InfraOps, and Localization data contribution



  • MDMS configs for any master data - Clone the repository https://github.com/egovernments/egov-mdms-data/tree/DEV , create a feature branch, apply your changes,  and raise PR to the DEV branch.

  • Configs like Indexer or Persister or PDF configs etc -  Clone the repository https://github.com/egovernments/configs/tree/DEV , create a feature branch, apply your changes, and raise PR to the DEV branch.

  • InfraOps:  For example build configs, deployment configs such as helm charts, environment overridden properties, etc <Need to check with DevOps how we can get this contribution> 

  • Localization changes - Clone the repository , create a feature branch, apply your changes, and raise PR to the master branch. 



Documentations Contribution:

  • Readme and Local setup documentation for new services. For example: 

    •  

    •   

  • Technical documentations For example:

    •  

    •  

  • Product Release Doc and User Guide (if any)

  • Test cases

  • QA automation scripts - API and UI automation scripts (if any).



Best Practices and Guidelines for Coding: