Skip to main content

Documentação do front end da ferramenta HidroFix

Esta documentação tem o intuito de registrar adequadamente o uso e desenvolvimento de ferramentas e possíveis soluções de front end para a aplicação de visualização e adequação semiautomatizada de gráficos de nível de água para o Censipam, intitulada HidroFix.

Tecnologias principais envolvidas

Next.js

O Next.js é um framework flexível para o desenvolvimento em React, o que permite uma melhor adequação de ferramentas a uma identidade visual e desenvolvimento simplificado de features com a necessidade de roteamento.

Bokeh

O Bokeh é uma biblioteca Python para a plotagem de gráficos de maneira simples com o intuito de serem visualizados em aplicações Web.

Inicialização da aplicação

Docker Compose

Para a execução do projeto com Docker Compose, é necessário que o Docker e o Docker Compose estejam adequadamente instalados no computador.

Após a instalação e a configuração adequada das variáveis de ambiente e de uma network que englobe os contêineres da API e do backend, é possível criar os contêineres da aplicação a partir do uso do comando abaixo:

docker compose up --build

A flag -d pode ser adicionada para liberar o terminal em que o comando é executado.

Inicialização manual

Na eventualidade do contêiner não funcionar adequadamente, é possível executar o projeto a partir do terminal com comandos manuais. O projeto utiliza-se do instalador e gerenciador pip para isso.

Com o pip instalado, navegue até a pasta bokeh_server e execute este comando.

pip install -r requirements.txt

Com isso, todos os pacotes necessários serão instalados automaticamente. Para inicializar a aplicação deve-se executar, na pasta do projeto:

python3 bkapp.py

Após a execução destes comandos, deve-se abrir outro terminal para a execução da aplicação Next.js. Para tanto, deve-se navegar até a pasta estacoes.

cd estacoes

O projeto está configurado para fazer uso do gerenciador de pacotes npm. Na primeira inicialização do projeto, o uso do comando abaixo para a instalação de todas as dependências é necessário.

npm install

Com a instalação das dependências, o projeto pode ser inicializado utilizando-se do comando abaixo.

npm run dev

Ainda, os outros repositórios dos quais esta aplicação depende (A API, o banco de dados e o Keycloak) devem ser instalados e inicializados de acordo com o documentado a fim de que a aplicação seja executada como desejado. Para tanto, deve-se seguir o que está delineado no repositório banco_censipam, no repositório API e no repositório instancia-keycloak.

Histórico de versão

VersãoDataDescriçãoAutorRevisor
1.011/01/2024Criação do documentoFelipe M.-
1.119/01/2024Adição da seção 'BokehJS'Felipe M.-
1.324/01/2024Remoção da seção de utilização do projetoFelipe M.-
1.402/02/2024Atualizações do novo projetoFelipe M.-
1.521/02/2024Atualizações de integraçãoFelipe M.Cássio Reis
1.619/03/2024Atualizações para corresponder à refatoraçãoFelipe M.Cássio Reis
1.721/03/2024Reescrita dos parágrafos iniciaisFelipe M.Cássio Reis
1.815/07/2024Atualização dos comandos e reposFelipe M.Cássio Reis
1.909/12/2024Atualização dos comandosFelipe M.Cássio Reis