Este app faz a leitura do nível, vazão e chuva dos rios Aquidauana, Taquari, Paraguai, Miranda e Pardo da última semana até o momento em que o app é rodado em intervalos de quinze minutos. Os dados são disponibilizados em XML pela API da Agência Nacional de Águas e Saneamento Básico (ANA) e convertidos em JSON pelo módulo xml2js
. O endpoint que disponibiliza estes dados exige o código da estação, isto é, um código respectivo ao rio para puxar os dados do mesmo. Estes são os códigos da estação utilizados neste app:
Nome do rio | Código da estação |
---|---|
Rio Aquidauana | 66945000 |
Rio Taquari | 66870000 |
Rio Paraguai | 66825000 |
Rio Miranda | 66900000 |
Rio Pardo | 63970000 |
Após a conversão em JSON, os dados são gravados no arquivo leituras.csv
, o qual totaliza quase três mil linhas. Então, através do editor de planilhas Google Spreadsheets1, foi plotado um gráfico para cada rio, monitorando seu nível em função do tempo.
Este foi o primeiro repositório de código apresentado no Curso Superior de TSI do IFMS como requisito para obtenção da nota parcial das atividades da unidade curricular Linguagem de Programação I.
1 O professor instruiu cada discente a utilizar um editor de planilhas de sua preferência.
As seguintes tecnologias foram utilizadas para desenvolver este app:
Papel | Tecnologia |
---|---|
Ambiente de execução | Node |
Linguagem de programação | TypeScript |
Base de dados | ServiceANA |
Plotagem de gráficos | Google Spreadsheets |
As figuras abaixo apresentam os níveis dos rios Aquidauana, Taquari, Paraguai, Miranda e Pardo, respectivamente, da meia-noite do dia 30 de março de 2022 até às 10h do dia 6 de abril de 2022.
-
Clone o repositório de código em sua máquina;
-
Abra um shell de comando de sua preferência (prompt de comando, PowerShell, terminal etc.);
-
Instale as dependências do projeto através do seguinte comando:
$ npm install
Caso esteja utilizando o gerenciador de pacotes Yarn, execute o seguinte comando como alternativa:
$ yarn
- Finalmente, execute o seguinte comando para iniciar o app:
Para npm:
$ npm run start
Para Yarn:
$ yarn start