Do not use go mod init anymore

Taken from https://qqq.ninja/blog/post/go-structure/

But what should such a tool achieve?

First of all, in the IT industry projects actually go on how they are started. For example, if you start with a good/correct project structure, developers will follow that project structure. If not, presumably it is going to be a mess. So this tool should be able to copy some project structure that people agreed on.

Taken from https://www.linkedin.com/posts/javascript-developer_activity-6993132590106824704-TbBH

Gotouch

I started Gotouch project to meet the criteria mentioned above. This started as a hobby project to learn and practice Go. In the beginning, it aimed to create only Go projects but then it became a generic tool for managing projects or files. Gotouch can be now called as a templating tool for IT.

Taken from https://ro.pinterest.com/pin/844917580080076633/

How to use Gotouch

Firstly, install gotouch.

go install github.com/denizgursoy/gotouch/cmd/gotouch@latest
`-- my-app
|-- Makefile
|-- build
| `-- package
| `-- Dockerfile
|-- cmd
| `-- my-app
| `-- main.go
|-- deployments
| `-- app-deployment.yaml
|-- go.mod
|-- internal
`-- pkg

How to customize

Let’s say you have three different kinds of project structures in your company. For example, you might be using Python for your BFF’s, Java for microservices, and Go for API gateways. In this example, we will focus on creating a project with Go.

gotouch -f path-to-properties-yaml

Managing Dependency in other languages

If language of project structure is set to go, every dependency has to to be string. For other projects, you can use any format in your dependency. For example, in a Maven project, you can define your dependencies as object as seen below.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store