The goal of this developer guide is to walk through all the steps in building a new voter registration backend service module on top of DIGIT.
In this guide, you will learn:
  • How to set up your development environment
  • How to develop the registries, services, APIs for a voter registration module that were described in the Design Guide
  • How to integrate with an existing DIGIT environment and re-use a lot of the common services using Kubernetes port forwarding
  • How to test the new module and debug
  • How to build and deploy the new service in your DIGIT environment
At the end of this guide, you will be able to run the sample module provided with this guide (code provided), test it out locally and also deploy it using CD/CI to your dev environment.


Before beginning development on top of DIGIT, please ensure:
1. DIGIT code from DIGIT-OSS, egov-mdms-data, configs etc.. has been forked from GitHub under your organization’s umbrella account.
2. You have access to the forked repositories from your GitHub user account. Note that the user account is different from the organization's account.
3. Access to a DIGIT environment - FQDN, Access keys etc..The DIGIT environment can be a single VM setup for a development environment. Please refer to these docs for installation of DIGIT.
We recommend pointing the following services to the dev environment -
  • User
  • MDMS
  • Localization
  • Id-Gen
  • URL-shortener
  • Workflow
Following DIGIT services should be running locally -
  • Persister
  • Indexer (optional)
  • PDF Service
4. CD/CI has been setup for DIGIT. This is a pre-requisite to deploy new DIGIT modules. CD/CI processes will be used to build and deploy the new module that will be developed.
5. In addition, knowledge of the following technologies is required for developing on DIGIT:
  • Java/J2EE
  • Spring Boot.
  • REST APIs and related concepts like path parameters, headers, JSON etc.
  • Git
  • PostgreSQL
  • Kafka
All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.
Copy link