Um projeto simples para aperfeiçoar arquitetura hexagonal, baseado no artigo Ready for changes with Hexagonal Architecture , do time de engenharia de software da Netflix.
Esse projeto também visa se tornar um "template" para meus futuros desenvolvimentos de microsserviços em Go, usando novas funcionalidades da versão 1.22 da linguagem, podendo futuramente ser expandido com novos cmds ou datasources.
A arquitetura hexagonal é uma arquitetura de software que prega o desacoplamento entre os componentes de um sistema, de forma que o desenvolvimento do mesmo seja altamente flexível, permitindo que as implementações de cada um de seus módulos sejam facilmente trocadas no futuro, com as dependências entre os mesmos se dando a partir do diagrama abaixo:
- Go 1.22 ou mais recente
- Compilador para protocol buffers e das dependências do mesmo para Go e gRPC
- Clone esse repositório
- Navegue até o diretório
go_hex/cmds/rest
- Em um terminal execute o comando
go run .
- Pronto! 🚀
- Clone esse repositório
- Navegue até o diretório
go_hex/cmds/grpc
- (Opcional) Gere novo código para o projeto usando o script
./dev/gen/sh
- Em um terminal execute o comando
go run .
- Pronto! 🚀