hexagonal-architecture

module
v0.0.0-...-6910dfc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2023 License: MIT

README

CRUD em Golang usando a arquitetura hexagonal

Este repositório contém uma implementação de um CRUD básico usando a linguagem Golang e a arquitetura hexagonal.

Arquitetura hexagonal

A arquitetura hexagonal, também conhecida como ports and adapters, é um estilo arquitetural que tem como objetivo tornar o código mais flexível e independente de infraestrutura. Essa arquitetura é baseada em três conceitos principais:

O núcleo da aplicação: é onde se encontram as regras de negócio e a lógica da aplicação. Adapters: são os componentes que permitem a comunicação do núcleo com o mundo externo, como por exemplo os adaptadores de banco de dados, adaptadores de interface de usuário, adaptadores de API, etc. Ports: são as interfaces que definem como o núcleo da aplicação se comunica com os adaptadores. A arquitetura hexagonal é muito útil para projetos de médio e grande porte, pois torna o código mais modular, testável e escalável.

Executando o projeto Para executar o projeto, é necessário ter o Golang instalado na sua máquina. Você pode baixar a última versão do Golang aqui.

Para clonar o repositório e executar o projeto, execute os seguintes comandos:

$ git clone https://github.com/eduardor2m/hexagonal-architecture.git
$ cd hexagonal-architecture
$ go run ./src/cmd/server/main.go 

Endpoints O projeto contém os seguintes endpoints:

  • GET /users: Retorna todos os usuários cadastrados
  • GET /users/🆔 Retorna um usuário pelo ID
  • POST /users: Cria um novo usuário
  • PUT /users/🆔 Atualiza um usuário existente
  • DELETE /users/🆔 Remove um usuário pelo ID

Contribuindo

Sinta-se à vontade para contribuir com o projeto. Basta fazer um fork do repositório, criar uma nova branch com a sua contribuição e abrir um pull request.

Licença Este projeto está licenciado sob a Licença MIT. Leia o arquivo LICENSE para mais informações.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL