Skip to content

Improve go with hexagonal pattern design by integrating with docker, kafka and postgres technologies

Notifications You must be signed in to change notification settings

JonatasMSantos/codepix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto de Integração com Kafka, gRPC e Kubernetes

Este é um projeto que envolve várias tecnologias e componentes diferentes para criar uma aplicação de integração que utiliza Kafka, gRPC e Kubernetes. A estrutura do projeto inclui os seguintes componentes:

  • nestjs: Projeto em NestJS que se comunica com o aplicativo em Go (central-bank) via gRPC e troca mensagens com o Kafka.
  • nextjs: Frontend da aplicação.
  • k8s: Scripts do Kubernetes para implantar os diferentes componentes do projeto em ambientes separados.
  • kafka: Docker Compose com todas as dependências do Kafka para suportar a integração.
  • central-bank: Aplicativo em Go, inicializado com Cobra, que fornece serviços acessíveis via gRPC.

Requisitos

Antes de começar, você deve garantir que os seguintes requisitos estejam atendidos:

  • Docker instalado e em execução.
  • Docker Compose instalado.
  • Kubernetes configurado, se você deseja implantar nos ambientes Kubernetes.
  • Node.js e NPM instalados, se você deseja trabalhar no projeto nextjs.
  • Go instalado, se você deseja trabalhar no projeto central-bank.

Configuração do Kafka

Antes de executar o projeto, siga estas etapas:

  1. Navegue até a pasta kafka:
cd kafka
  1. Inicialize o ambiente Kafka com todas as dependências (ZooKeeper, Kafka, etc.):
docker-compose up --build

Configuração do Projeto NestJS

O projeto NestJS se comunica com o central-bank via gRPC e troca mensagens com o Kafka. Certifique-se de que a configuração apropriada esteja em vigor, incluindo os arquivos de configuração do Kafka e gRPC.

Inicialização do Projeto Central Bank (Go)

O projeto central-bank é um aplicativo Go que pode ser inicializado com o seguinte comando:

go run main.go all

Certifique-se de que todas as dependências Go estejam instaladas antes de executar o projeto.

Dentro do arquivo go.mod apague todo o conteúdo de require e no terminal rode o comando abaixo para instalar todas as depêndencias:

go mod init

Com isso a aplicação deve funcionar corretamente.

Execução do Projeto Next.js (Frontend)

Navegue até a pasta nextjs:

cd nextjs

Instale as dependências:

npm install

Inicie o aplicativo Next.js:

npm run dev

Implantação em Kubernetes

Se desejar implantar os componentes em Kubernetes, navegue até a pasta k8s e use os scripts fornecidos para implantar os serviços e recursos necessários.

Observação: Certifique-se de ter o Kubernetes configurado e os objetos necessários criados no cluster.

About

Improve go with hexagonal pattern design by integrating with docker, kafka and postgres technologies

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published