Skip to main content

Instruções para execução do projeto

Estutura de pastas

O repositório está organizado da seguinte forma:

.
├── docs
├── README.md
├── src
├── .github
└── tests
  • docs: Diretório que contem todos os arquivos referentes à documentação do projeto.
  • src: Contem todos os arquivos relacionados com o código fonte da solução
  • tests: Armazena testes automatizados da solução
  • .github: Contem o fluxo de integração contínua do repositório

Pré-requisitos

As seguintes ferramentas são necessárias para rodar o projeto sem problemas

Lançando a aplicação

Para utilizar os módulos:

1. Clone o repositório, se ainda não o tiver feito:

git clone https://github.com/Inteli-College/2024-T0002-EC09-G01.git

2. Entre no diretório src:

cd src

3. Preparando o broker:

Para rodar a solução on-premise, dá-se a possibilidade de configurar um broker local com o mosquitto. Para isso, deve-se instalar:

sudo apt-get install mosquitto mosquitto-clients

Após isso, entrar na pasta de configuração e rodar o broker:

cd config
mosquitto -c mosquito.conf

Para rodar a solução com um cluster próprio, deve-se alterar o arquivo de variáveis de ambiente para conter as informações do broker desejado e autenticação.

4. Rodando o simulador de sensores:

cd src/cmd
go run simulation.go

5. Rodando o Subscriber para adicionar as informações ao banco de dados:

cd src/database
go run database.go

Testes

Para garantir a funcionalidade da solução, foram criados testes automatizados que aferem a qualidade das funcionalidades. Cada pacote epropostasstá acompanhado de um arquivo de teste que indica o tempo de execução de algumas funções, bem como se os testes foram ou não bem sucedidos.

RecursoTestes DesenvolvidosStatusNome do Arquivo
Publisher
  • Criação de uma instância de Sensor
  • Criação correta de uma carga útil de dados em formato JSON
✅ Sucessopublisher_test.go
SubscriberTeste de Subscrição em um tópico✅ Sucessosubscriber_test.go
ClientCriação de um cliente com conexão com um Broker✅ Sucessoclient_test.go

Como rodar os testes

  1. Entre no diretório do pacote que deseja testar
  2. Rode o comando de teste do Go

Exemplo com o pacote Publisher:

cd src/tests
go test

Observações

  • Existem planos para dockerizar a solução no futuro. 🐋
  • Apenas a execução da solução em Go foi demonstrada, uma vez que pretendemos seguir com o desenvolvimento utilizando esta ferramenta, apesar de existirem códigos em Python.