Skip to content

gustapinto/go_hex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go HEX

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.

Arquitetura hexagonal

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:

Instalando o projeto

Pré-requisitos

  1. Go 1.22 ou mais recente
  2. Compilador para protocol buffers e das dependências do mesmo para Go e gRPC

Executando a API REST (cmds/rest)

  1. Clone esse repositório
  2. Navegue até o diretório go_hex/cmds/rest
  3. Em um terminal execute o comando go run .
  4. Pronto! 🚀

Executando o servidor gRPC (cmds/grpc)

  1. Clone esse repositório
  2. Navegue até o diretório go_hex/cmds/grpc
  3. (Opcional) Gere novo código para o projeto usando o script ./dev/gen/sh
  4. Em um terminal execute o comando go run .
  5. Pronto! 🚀

About

A simple project to improve my hexagonal architecture skills using go 1.22 features

Topics

Resources

Stars

Watchers

Forks