Este repositório tem o objetivo de processar e disponibilizar os dados utilizados pela aplicação: Radar do Congresso.
Esta aplicação foi desenvolvida pelo Congresso em Foco.
Este repositório é dividido em dois módulos principais:
- Processador dos dados (radar-updater): Responsável por capturar os dados na API da Câmara e do Senado e processar para o formato utilizado no banco de dados da aplicação. Como resultado final gera CSV's usados com os dados tratados.
- Gerenciador da atualização dos dados (radar-db): Responsável por criar os esquemas das tabelas no banco de dados e importar os dados gerados pelo módulo radar-updater.
Os dados processados se encontram no diretório bd/data
. Para ter uma versão de um banco de dados com esses dados usados bastar executar os passos a seguir
Copie o conteúdo do arquivo .env.sample
para um arquivo .env
na raiz desse repositório.
Este arquivo contém as credenciais do banco de dados local para desenvolvimento:
PGHOST=radar-db
PGUSER=postgres
PGDATABASE=radar
PGPASSWORD=secret
Entre no diretório bd
e execute:
make up
Obs: certifique-se que não existe nenhum serviço da sua máquina local executando na porta 5432.
Você pode acessar seu banco de dados local usando o comando (dentro do diretório bd
):
make shell
Ainda dentro do diretório bd
, execute o comando que irá criar as tabelas e importar os dados:
make create
Pronto! Agora seu Banco de dados está com os dados necessários para a aplicação Radar do Congresso.
Siga os passos para migrar os dados processados para o Banco de dados.
Levante o serviço radar-updater executando do diretório raiz do repositório:
docker-compose up
Para realizar esta tarefa execute o comando que atualiza os dados no banco de dados com base nos CSV's processados disponíveis em bd/data
.
De dentro do diretório bd
, execute:
make update
Os arquivos de log dessas migrações estarão disponíveis em: localhost:5421/logs
e são providos pelo servidor de logs.
Para atualizar os dados da aplicação é necessário executar o serviço de atualização provido pelo radar-updater.
Para isto execute de dentro do diretório bd
:
make process-data
Provavelmente você irá querer executar agora a migração dos dados para o BD. Para isto execute:
make update
Esta seção irá explicar mais sobre como o docker foi utilizado no projeto.
Existem dois docker-compose no projeto.
- O primeiro deles na raiz do projeto levanta os serviços referentes ao R para processamento de dados e ao servidor de logs das migrações realizadas no banco de dados.
- O segundo docker-compose está na pasta
bd
e levanta o serviço com o banco de dados.
Para visualizar que containers estão executando:
docker ps
Para parar a execução de um container:
docker stop <id-container>
Para forçar regerar a imagem quando uma nova dependência for instalada
docker-compose build
Para parar os serviços e remover permanentemente os volumes (dados serão perdidos!):
docker-compose down --volumes