Hexagonal Architecture Go Workshop

Description

Based on Building Hexagonal Microservices with Go by Tensor Programming

Differences

  • Uses Fiber v2 framework
  • Dockerised with Composer support for backends (redis/mongo)
  • Prepared adapter for MySQL (via Gorm)
  • Container with development tools (Air for auto-rebuild, Delve for debugging)
  • Uses EasyJSON for JSON serialisation

Resources

Setup: MacOS

  • Brew: https://brew.sh
  • brew install go
  • brew install --cask visual-studio-code
  • brew install docker
  • brew install docker-compose
  • VSCode Extensions: LiveShare Pack (w/ Audio), REST Client

Setup: Windows

  • Choclatey: https://chocolatey.org/install
  • choco install golang
  • choco install docker-desktop
  • choco install docker-compose
  • choco install vscode
  • choco install vscode-go
  • choco install vscode-vsliveshare
  • choco install vscode-live-share-audio
  • VSCode REST client installed via VSCode

Additional tools

These should be installed on-demand, as the workshop progresses

  • EasyJSON: go get -u github.com/mailru/easyjson/... (easyjson should become available in path)