Aprendendo Go, e implementando um CRUD seguindo arquitetura MVC.
src
| -- controller - Entrada e validação de dados
| -- model - Regras de negócio e objeto principal
| -- view - Gerenciamento de dados (publico/privado) e converters
converters
| -- tests - Testes de integração da aplicação
| -- configuration - Pacote para conexões, arquivos de configuração.
etc
main.go
.env
.gitignore
Notas de desenvolvimento
.ENV
Para buscar um valor de uma variavel de ambiente é usado o pacote, os.GetEnv, que só "pega" os valores se uma biblioteca estiver instalada.
Biblioteca chamada godotenv.
Para instalar basta usar no terminal; go get github.com/joho/godotenv
\
Biblioteca para API
Para lidar com rotas será usado o gin gonic, framework, mais movimentado na comunidade.
Instalação: go get -u github.com/gin-gonic/gin
Biblioteca para Validação de requisição
Para validar o conteúdo enviado por requisição será usado o Validator
Instalação: go get github.com/go-playground/validator/v10
Biblioteca para Logs
Para logs será usado o uber go zap
Instalação: go get -u go.uber.org/zap
Agradecimento
Usando como base o projeto do canal HunCoding