Skip to content

Monitoramento de tweets por filtragem a partir de tags

License

Notifications You must be signed in to change notification settings

emanuelmassafera/imersao-fc6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Imagem da Imersão Full Cycle

Imersão Full Cycle 6 - Monitoramento de tweets

👨‍💻 Monitoramento de tweets por filtragem a partir de tags 👨‍💻

🚧 Concluído 🚀 🚧


Tabela de conteúdos


Sobre o projeto

Sistema de monitoramento de tweets por filtragem a partir de tags. A aplicação é baseada em quatro microserviços: Kafka Connect, backend em NestJS, frontend em NextJS e serviço de envio de e-mails em Golang.

O Twitter é monitorado através de um conector do Kafka Connect e os novos tweets encontrados são salvos no banco de dados da aplicação por meio de outro conector. A API acompanha a entrada de dados no banco e aciona o serviço do envio de e-mails quando uma determinada quantidade é atingida. Além disso, é papel da API prover por meio de endpoints REST as informações mostradas no frontend.

Os microserviços foram desenvolvidos para executar em containers Docker e, quando em produção, utilizando Kubernetes.


Tecnologias


Arquitetura

Architecture image


Como executar o projeto

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Docker e Docker Compose. Para trabalhar com o código, é recomendável o uso de um bom editor, como o VSCode.

Rodando a aplicação localmente

# Clone este repositório
$ git clone https://github.com/emanuelmassafera/imersao-fc6.git

# Acesse a pasta do projeto pelo terminal/cmd
$ cd imersao-fc6

# Acesse a pasta de cada microserviço
$ cd kafka-connect

# Execute a aplicação
$ docker-compose up

Variáveis de ambiente

Ao rodar localmente, todas as variáveis de ambiente já serão criadas e atribuídas através dos arquivos docker-compose de cada microserviço. As únicas exceções são das variáveis referentes ao serviço de envio de e-mail, que deverão ser substituídas.

Ordem de execução recomendada

A ordem de execução recomendada para os microserviços é kafka-connect > nestjs > golang > nextjs.

Rodando a aplicação em produção

Para executar a aplicação com Kubernetes, é necessário que você o tenha instalado em sua máquina, substitua as variáveis de ambiente para uso dos serviços do Kafka, MongoDB e Redis em cloud e suba as imagens Docker de produção dos microserviços do NestJS, NextJS e Golang para o Docker Hub.


Autor

Emanuel Massafera

Badge Badge


Licença

Esse repositório está licenciado pela MIT LICENSE. Para informações detalhadas, leia o arquivo LICENSE.

Made with ♥ by Emanuel Massafera 👋 Get in touch!