Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info

Add your comments directly to the page. Include links to any relevant research, data, or feedback.

Page Properties
label


Status
Status
colourYellow
titleIn progress
Impact

Status
colourRed
titleHIGH
  

Driver
Approver
Contributors
Informed
Due date
Outcome


...

Repo StructureBranching StrategyReview Process

Core: (Private)

  • egov-accesscontrol
  • egov-common-masters
  • egov-common-workflow
  • egov-data-uploader
  • egov-filestore
  • egov-idgen
  • egov-indexer
  • egov-localization
  • egov-location
  • egov-mdms-service
  • egov-notification-mail
  • egov-notification-sms
  • egov-otp
  • egov-persister
  • egov-pg-service
  • egov-searcher
  • user-otp
  • egov-user
  • tenant
  • telemetry
  • telemetry-kafka-streams

New branching structure

  • Anything in MASTER is deploy-able, all CI/CD pipelines are only from master.
  • Developers are expected to have short-lived feature & hotfix branches which are then merged onto master via PR.
  • Forking workflow is a convenient way to share branches with 3rd party/open-source developers.
  • 3rd party developers follow Forking Workflow, they are pulled into developer’s local repository.

  • Everyone creates pull request and only code-owners checks & approves merge to master. Everyone else can still comment.
  • Can elect the code-owners based on tech/files or overall code base and architectural knowledge.
  • Code quality check with codacy is mandatory and runs as part of every pull request.
  • WIP: should be used when there are subsequent commits
  • JIRA ticket should be prefixed as a topic name for the PR
  • Anticipated PRs and the relevant discussions could be discussed on the daily SCRUM meetings.
- Authors, Reviewers, peers, approver

Business Modules:

  • hr-employee-v2
  • hr-masters-v2
  • collection-services
  • billing-service
  • egf-instrument
  • egf-master

New branching structure

  • Master branch holds the core code and will maintain it own release and review cycle.
  • Developers are expected to have short-lived feature & hotfix branches which are then merged onto master via PR.
  • Forking workflow is a convenient way to share branches with 3rd party/open-source developers.
  • 3rd party developers follow Forking Workflow, they are pulled into developer’s local repository.


  • Everyone creates pull request and only code-owners checks & approves merge to master. Everyone else can still comment.
  • Can elect the code-owners based on tech/files or overall code base and architectural knowledge.
  • Code quality check with codacy is mandatory and runs as part of every pull request.
  • WIP: should be used when there are subsequent commits
  • JIRA ticket should be prefixed as a topic name for the PR
  • Anticipated PRs and the relevant discussions could be discussed on the daily SCRUM meetings.
- Authors, Reviewers, peers, approver


Libraries:

  • mdms-client
  • tracer
  • services-common

New branching structure

  • Developers are expected to have short-lived feature & hotfix branches which are then merged onto master via PR.
  • The repository hosts common libraries which are used across core and business modules.
  • The modules hosted in the repo are usually built and artefacts published to Nexus / Artifactory which are then re-used by other modules.
  • Artefacts release and versioning strategies to be followed strictly. 


  • Everyone creates pull request and only code-owners checks & approves merge to master. Everyone else can still comment.
  • Can elect the code-owners based on tech/files or overall code base and architectural knowledge.
  • Code quality check with codacy is mandatory and runs as part of every pull request.
  • WIP: should be used when there are subsequent commits
  • JIRA ticket should be prefixed as a topic name for the PR
  • Anticipated PRs and the relevant discussions could be discussed on the daily SCRUM meetings.
- Authors, Reviewers, peers, approver

Municipal services:

  • Property Tax


  • Trade License


  • PGR



  • Modules are expected to have hooks through which state specific requirements can be met via sidecars rather than introducing the changes into the platform code-base itself.
  • Each of the feature module repos are to contain some sort of deployment packaging to help implementation teams / partners get up and running quickly. (Helm is one such)
  • States can opt to eject out from the platform's release by forking the repository and make any changes in forked repository and handle releases independently.
  • Such forked repositories can sync with upstream and stay up to date with the platform's releases.


  • Everyone creates pull request and only code-owners checks & approves merge to master. Everyone else can still comment.
  • Can elect the code-owners based on tech/files or overall code base and architectural knowledge.
  • Code quality check with codacy is mandatory and runs as part of every pull request.
  • WIP: should be used when there are subsequent commits
  • JIRA ticket should be prefixed as a topic name for the PR
  • Anticipated PRs and the relevant discussions could be discussed on the daily SCRUM meetings.
- Authors, Reviewers, peers, approver



InfraOps: (Private)

  • Kubernetes manifests
  • Infra configs
  • nginx config
  • kibana config
  • Dockerfiles
  • Jenkins


  • The repository will contain all devops related source code (GitOps) such as kubernetes manifests, configs etc.
  • State or individual deployments is handled by one file per deployment, which in turn affects all other manifests.
  • States can opt to eject out from the platform's release by forking the repository and make any changes in forked repository and handle releases independently.
  • Everyone creates pull request and only code-owners checks & approves merge to master. Everyone else can still comment.
  • Can elect state specific code-owners / implementation team who will be gatekeepers.

Doc:Swagger/Contracts/web

  • Core
  • Business
  • Features
  • Web
  • Mob
  • Option to have it published in confluence


Frontend (UI):

  • citizen
  • employee
  • employee-tradelicence
  • ui-uploader
  • report

Frontend (Mobile):

  • PuraSeva, AP Municipal
  • PGR, mSeva


  • Modules are expected to have hooks through which state specific requirements can be met via sidecars rather than introducing the changes into the platform code-base itself.
  • States can opt to eject out from the platform's release by forking the repository and make any changes in forked repository and handle releases independently.
  • Such forked repositories can sync with upstream and stay up to date with the platform's releases.
  • States also have the option to use their own UI while using our APIs alone.
https://levelup.gitconnected.com/using-pre-commit-and-pre-push-git-hooks-in-a-react-project-6c83431ef2bd

Config-Files: (Common)

  • Seed files
  • Migration files 
  • Persister  – Service repo
  • Indexer - Service repo






...