Watch the video GitHub Referece

Development Environment

The Java Development Environment is setup as follows:

We use IntelliJ IDEA as the primary Integrated Development Environment tool.

  • IntelliJ IDEA with Git Servers: to connect to Git Server,GitLab Server, Bitbucket and Github
  • IntelliJ IDEA with Git: to manage Code Control - Local and Remote Git activities.
  • IntelliJ IDEA Debug: to debug and learn everything about Golang
  • IntelliJ IDEA Remote Debug: to remote debug to diagnose code issues and defects in the integration
  • IntelliJ IDEA and Docker Desktop as an Integrated Development Environment: to create the development environment using Docker and Kubernetes e.g. Kafka, Database, JBoss, Web servers (Apache, nginx, jetty)
  • We use TeamCity or Jenkins to perform CI/CD
  • We use HttpClient plugin comes with IntelliJ IDEA for Restful Integrated Testing

Docker Desktop Development Environement

  • Docker Desktop: We use Docker Desktop to deploy various environments used for the development and the integration testing:

The reasons for composing the docker services and/or kubernetes pods are:

  • We allow each Developer to replicate the Development Environment with docker, thus suitable for microservice team and work breakdown
  • We deploy the application in the Development Environment to the application in the Testing Environment with docker
  • We deploy the application with CI/CD in mind and automate testing

Docker Desktop Development Environement

  • When we learn a new computer language, the debug will assist the learning. We setup two approaches to debug Golang:
    • We use the IntelliJ IDEA IDE debug the code
  • When the Developers work with the Testers to trace any issues
    • We use the IntelliJ IDEA or Visual Code IDE to perform the remote debug to a Golang process