Skip to content

Orders and Payments API (Nest) using Kafka, Docker, MySQL

Notifications You must be signed in to change notification settings

WalmirLucena/orders-payments-api

Repository files navigation

API de Pedidos e Pagamentos, usando Kafka

Essa API simula um pedido sendo feito (Orders), após isso é publicado no Kafka uma mensagem. Em seguida Payments consome a mensagem no Kafka( pagamento realizado), processa se o pagamento foi ou não realizado, em seguida publica uma nova mensagem atualizando o status do pedido. Por fim, Orders consome a mensagem no Kafka e altera o status do pedido para Payed ou Cancelled

Descrição

Essa aplicação utiliza: Nest Docker

Instalação

Primeiro suba o container com o seguinte comando:

$ docker-compose up

Você pode utilizar a entensão Dev Containers do VSCode para auxiliar nesse processo. Após isso o seu Banco de Dados em MySQL já deve estar de pé, junto com seu container do Kafka

  • Adicione os tópicos orders e payments no localhost:9021 que é onde está rodando seu Kafka

  • Utilize o arquivo .docker/mysql/init.sql para criar as tabelas orders e payments no Banco de Dados

  • Em seguinda instale as dependências locais da sua aplicação:

$ npm install

Rodado as API's

Os seguintes comandos sobem o server de sua API:

# development
$ npm run start

# watch mode
$ npm run start:dev

Para rodar sua API de Payments:

$ npm run start:dev payments

About

Orders and Payments API (Nest) using Kafka, Docker, MySQL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published