This section provides the complete details of the system pre-requisites, prepping and setting up the system for development.
Follow the steps in the docs resources below:
Artefacts required before beginning the development phase
The outputs of the design phase are the inputs to the development phase.
The docs below provide the steps and the resources required to build and design the module.
eg_bt_registration | This table holds the baby's information |
eg_bt_address | This table holds the applicant address who applied for the birth registration. |
Follow the steps outlined on this page to setup the DIGIT development environment.
To setup the DIGIT development environment -
Run the Kafka and PostgreSQL on the development machine and re-use other services from the DIGIT development environment. The following tools are required for development:
Install IDE - To create SpringBoot/Java applications it is recommended to use IntelliJ IDE. IntelliJ can be downloaded from the following links -
Install the Lombok plugins for IntelliJ as we use Lombok annotations in this module.
Install Kafka (version 3.2.0 which is the latest version) - To install and run Kafka locally, follow the following links -
Install Postman - To install Postman, follow the following links -
Install Kubectl - Kubectl is the tool that we use to interact with services deployed on our sandbox environment - kubectl for windows
https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/
Install aws-iam-authenticator - (if the DIGIT development environment is in AWS) - https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html
Install PostgreSQL v14 locally
Add configuration - Post installation of Kubectl, add the following configuration in the Kubernetes config file to enable access to resources in our sandbox environment. Kubernetes config file is available in the user's home directory (which varies from OS to OS).
For example, on a Mac, it is available at:/Users/xyz/.kube/config
Once the config file is created, add the following content to it.
Note: Replace the placeholder keys and tokens in the snippet below with your AWS-specific keys. Contact your system administrator for help with this.
Once the configuration file is created, access the pods running in the environment by typing: kubectl get pods
This lists all the pods in the development environment.
In case you get an error stating “Error: You must be logged in to the server (Unauthorized)”, add sudo before the command. For example, “sudo kubectl get pods”. That should resolve the error.
Available design artifacts
Find below the Open API specifications defined for this guide:
As a part of this guide, we are going to build a single birth registry. We will re-use the user registry from the DIGIT core. This will capture the mother and father details and store them in the user registry. The baby's details will remain in the birth registry.
A single birth service will manage the registry.