Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Introduction

This document aims to put together all the items which will enable to come up with a proper training plan for a partner team who will be working on the DIGIT platform.

Technical Prerequisites

Below listed are the technical skill sets that are required to work on DIGIT stack. It is expected the team planning on attending training is well versed with the mentioned technologies before they attend eGov training sessions.

Skillset for the Development team

  • Open API Contract - Swagger2.0

  • YAML/JSON

  • Postman

  • Postgres 

  • Java and REST APIS

  • Basics of Elasticsearch

  • Maven

  • Springboot

  • Kafka

  • Zuul

  • NodeJS, ReactJS

  • Wordpress

  • PHP

Skill Set for the DevOps team

  • Understanding on the microservice architecture.

  • Experience of AWS, Azure, GCP, NIC Cloud.

  • Strong working knowledge on linux, command, VM Instances, networking, storage.

  • To create kubernetes cluster on AWS, Azure, GCP on NIC Cloud.

  • kubectl installation & commands (apply, get, edit, describe k8s objects)

  • Terraform for infra-as-code for cluster or VM provisioning.

  • Understanding of VM types, Linux OS types, LoadBalancer, VPC, Subnets, Security Groups, Firewall, Routing, DNS)

  • Experience setting up CI like Jenkins and create pipelines.

  • Deployment strategies - Rolling updates, Canary, Blue/Green.  

  • Scripting - Shell, Groovy, Python and GoLang.

  • Experience on Baking Containers and Dockers. 

  • Artifactory - Nexus, verdaccio, DockerHub, etc.

  • Experience on kubernetes ingress, setting up SSL certificates and renewal

  • Understanding on zuul gateway

  • Gitops, Git branching, PR review process. Rules, Hooks, etc.

  • Experience on Helm, packaging and deploying.

  • JBoss Wildfly, Apache, nginx, Redis and Postgres.

Hardware prerequisites

Trainees are expected to have laptops/ desktops configured as mentioned below with all the software required to run the DIGIT application

Software Assets

There are knowledge assets available in the Net for general items and eGov assets for DIGIT services. Here you can find references to each of the topics of importance. It is mandated the trainees do a self-study of all the software mentioned in the prerequisites using the reference materials shared.

Topic

Reference

Preparedness Check

Git

https://www.atlassian.com/git

https://www.tutorialspoint.com/git/index.htm

https://www.udemy.com/course/git-complete/

Do you have a Git account?

Do you know how to clone a repository, pull updates, push updates?

Do you know how to give a pull request and merge the pull request?

Microservice Architecture

https://www.tutorialspoint.com/microservice_architecture/index.htm

https://www.udemy.com/course/microservices-with-spring-boot-and-spring-cloud/

Do you know when to create a new service?

How to access other services?

ReactJS

https://reactjs.org/tutorial/tutorial.html

https://www.udemy.com/course/react-the-complete-guide-incl-redux

https://www.tutorialspoint.com/reactjs/reactjs_overview.htm 

How to create react app ?

How to create a Statefull and Stateless Component?

How to use HOC as a wrapper?

Validations at form level using React.js and Redux

Postgres

https://www.postgresqltutorial.com/

https://www.udemy.com/course/the-complete-python-postgresql-developer-course/

https://www.tutorialspoint.com/postgresql/index.htm

How to create database and set up privileges?

Postman

https://www.postman.com/resources/videos-tutorials/

https://www.udemy.com/course/postman-the-complete-guide/ 

Call a REST API from Postman with proper payload and show the response

REST APIs

https://www.tutorialspoint.com/rest_api/index.asp

https://www.youtube.com/watch?v=rtWH70_MMHM 

What are the principles to be followed when making a REST API?

When to use POST and GET?

How to define the request and response parameters?

Kafka

https://www.udemy.com/course/apache-kafka/

https://kafka.apache.org/intro

https://www.tutorialspoint.com/apache_kafka/apache_kafka_introduction.htm 

How to push messages on kafka topic?

How does consumer group work?

What are partitions?

Docker and Kubernetes

https://www.tutorialspoint.com/kubernetes/index.htm

https://www.udemy.com/course/docker-and-kubernetes-the-complete-guide/

https://www.tutorialspoint.com/docker/index.htm 

How to edit deployment config?

How to read logs?

How to go inside a kubernetes pod?

How to create a docker file using a base image?

JSON

https://www.tutorialspoint.com/json/index.htm 

https://github.com/json-path/JsonPath

How to write filters to extract specific data using jsonPaths?

YAML

https://www.udemy.com/course/yaml-essentials/

How to read an API contract using swagger?

Zuul

https://www.javatpoint.com/zuul-api-gateway

Maven

https://www.udemy.com/course/maven-quick-start/

https://www.tutorialspoint.com/maven/index.htm 

Springboot

https://www.tutorialspoint.com/spring_boot/index.htm

https://www.udemy.com/course/spring-hibernate-tutorial/ 

Elastic search

https://www.udemy.com/course/elasticsearch-complete-guide/

https://www.tutorialspoint.com/elasticsearch/index.htm 

How to write basic queries to fetch data from elastic search index?

Wordpress

https://www.tutorialspoint.com/wordpress/index.htm

https://www.udemy.com/course/wordpress-for-beginners-course/ 

DIGIT Architecture

Orientation - Platform Overview

DIGIT Architecture and Technical overview  

What comes as part of core service, business service and municipal services?

How to calls APIs from one service in another service?

DIGIT Core Services

https://digit-discuss.atlassian.net/l/c/DYNz7y84

Which are the core services in DIGIT framework?

DIGIT DevOps

DevOps Partners - KT Content

DIGIT - Infra deployment overview

DIGIT MDMS

MDMS Configuration:  

How to read a master date from MDMS?

How to add new data in an existing Master?

Where is the MDMS data stored?

DIGIT UI Framework

Getting started

How to add a new component in the framework?

How to use an existing component?


  • No labels