Repositório para documentação e ferramentas de uso geral do projeto. Atualmente possui dois principais módulos:
Na wiki adicionamos algumas explicações sobre cada módulo.
Abaixo levantamos uma descrição resumida sobre cada repositório utilizado pelo leggo-geral:
-
leggoR
: Responsável por baixar dados das APIs da Câmara e Senado mais direcionados ao contexto do Painel (como proposições apensadas, por exemplo) e de outras bibliotecas R, como rcongresso e perfil-parlamentarR, além de processar os dados utilizados pela aplicação, como progresso, proposições em destaque, atuação, etc. -
rcongresso
: Responsável por baixar os dados das APIs da Câmara e do Senado relacionados às proposições: autores, relatores, proposições, tramitações, agenda, etc. Deve ser clonado dentro da pasta do leggoR para ser usado no build do pacote R. -
leggoTrends
: Responsável por baixar os dados de atividade no twitter servidos pela API do leggo-twitter e processá-los para gerar a pressão do Painel. -
leggo-twitter
: Responsável por disponibilizar os dados processados pelo módulo do leggo-twitter-dados via API. -
leggo-twitter-dados
: Responsável por baixar os dados de tweets para um conjunto de usuários e processá-los, gerando um mapeamento de tweets sobre as proposições monitoradas (os dados das proposições são disponibilizadas pela API do leggo-backend). Este módulo também faz as atualizações no banco do leggo-twiiter. -
leggo-backend
: Responsável por atualizar os dados de proposições no banco de dados leggo e disponibilizar esses dados via API, que são utilizados tanto pelo leggo-twitter-dados quanto pelo leggo-painel. -
leggo-painel
: Responsável pelo front-end da aplicação Painel Parlametria. Acessa as APIs do leggo-backend, leggo-twitter e perfil-parlamentar.
O script update_leggo_data.sh
possui as funções necessárias para realizar a captura e atualização de todos os dados obtidos e capturados pelo módulo de dados.
Para que o script funcione corretamente, os seguintes repositórios devem ser clonados dentro de uma mesma pasta raiz, cujo caminho será passado como variável de ambiente:
- leggoR
- leggoTrends
- versoes-de-proposicoes (deprecated)
- leggo-content (deprecated)
- leggo-twitter-dados
Além disso, o repositório rcongresso
deve ser clonado dentro da pasta do leggoR para ser usado no build do pacote R.
Para executá-lo é preciso configurar as variáveis de ambiente por ele utilizadas. Para isto, crie uma cópia do arquivo .env.sample e o renomeie para .env
. Em seguida preencha as variáveis com os valores adequados para execução.
-
URL_INTERESSES: URL para planilha com lista de interesses analisados pelo Leggo. No sample temos uma versão dev desta planilha. Exemplo: URL_INTERESSES="https://docs.google.com/spreadsheets/d/e/2PACX-1vTOdLk1wxJsekjGF5alyD0AP25wVtpnq0QTy6IZTebY_WSiiAF6Any-_BWRTpcerTHHW4zJL3Y9hHpf/pub?gid=0&single=true&output=csv".
-
PLS_FILEPATH: caminho para o arquivo csv com a lista de Proposições que irão ter seus dados capturados e processados. Esse caminho é referenciado dentro do container rmod e por este motivo geralmente está ligado ao diretório
leggo_data
. Exemplo: PLS_FILEPATH=./leggo_data/tabela_geral_ids_casa_new.csv ou PLS_FILEPATH=./leggo_data/pls_interesses.csv (caso você queira capturar todos os interesses). -
WORKSPACE_FOLDERPATH: caminho para a pasta base do workspace (onde os repositórios estão clonados). Esse é o diretório a partir do qual o script de update vai rodar os comandos. Exemplo: WORKSPACE_FOLDERPATH=../
-
EXPORT_FOLDERPATH: caminho para a saída dos dados processados pelo módulo de dados. Esse caminho é referenciado dentro do container rmod e por este motivo geralmente está ligado ao diretório
leggo_data
. Exemplo: EXPORT_FOLDERPATH=./leggo_data -
LEGGOR_FOLDERPATH: caminho para o diretório que contém o código do repositório leggoR. Este caminho é referenciado na máquina local e portanto pode ser relativo ou absoluto a mesma. Exemplo: LEGGOR_FOLDERPATH=./leggoR
-
LEGGOTRENDS_FOLDERPATH: caminho para o diretório que contém o código do repositório leggoTrends. Este caminho é referenciado na máquina local e portanto pode ser relativo ou absoluto a mesma. Exemplo: LEGGOTRENDS_FOLDERPATH=./leggoTrends
-
VERSOESPROPS_FOLDERPATH (deprecated): caminho para o diretório que contém o código do repositório versoes-de-proposicoes. Este caminho é referenciado na máquina local e portanto pode ser relativo ou absoluto a mesma. Exemplo: VERSOESPROPS_FOLDERPATH=./versoes-de-proposicoes
-
LEGGOCONTENT_FOLDERPATH (deprecated): caminho para o diretório que contém o código do repositório leggo-content. Este caminho é referenciado na máquina local e portanto pode ser relativo ou absoluto a mesma. Exemplo: LEGGOCONTENT_FOLDERPATH=./leggo-content
-
LEGGOTWITTER_FOLDERPATH: caminho para o diretório que contém o código do repositório leggo-twitter-dados. Este caminho é referenciado na máquina local e portanto pode ser relativo ou absoluto a mesma. Exemplo: LEGGOTWITTER_FOLDERPATH=./leggo-twitter-dados
-
LOG_FOLDERPATH: caminho para o arquivo de log a ser escrito durante a execução do pipeline de processamento dos dados. Exemplo: LOG_FILEPATH=./logs/
-
BACKUP_FOLDERPATH: caminho para o diretório onde são armazenados os arquivos de backup dos dados. Exemplo: BACKUP_FOLDERPATH=./backups/
-
PROD_BACK_APP: nome da aplicação do backend na versão de produção no Heroku. Exemplo: PROD_BACK_APP=production_app_name
-
DEV_BACK_APP: nome da aplicação do backend na versão de desenvolvimento no Heroku. Exemplo: DEV_BACK_APP=development_app_name
-
URL_LISTA_ANOTACOES: URL ou caminho para os insights de especialistas sobre determinadas proposições. Abaixo temos um link para uma versão de teste. Exemplo: URL_LISTA_ANOTACOES="https://docs.google.com/spreadsheets/d/e/2PACX-1vQIC9sm_jTojACKqzF17nPU8qiQRmWSeaKDOeRuxkLnhSZwOwdx0GpgGflpJigM3-N_KOPBz85-wR_u/pub?gid=0&single=true&output=csv"
-
URL_TWITTER_API: Endereço da URL da API do leggo twitter. Exemplo: URL_TWITTER_API="https://leggo-twitter.herokuapp.com/api"
-
URL_API_PARLAMETRIA: URL da API do painel Parlametria. Exemplo: URL_API_PARLAMETRIA="https://api.leggo.org.br"
-
URL_USERNAMES_TWITTER: URL para lista de usernames para a recuperação e processamentos dos tweets Exemplo: URL_USERNAMES_TWITTER="https://docs.google.com/spreadsheets/d/e/2PACX-1vR1Dh6vN_cCzpPqtY1nfZU90W5nghlesAFAE3-uqMgw8tOn0UpKJjW-eNd_g-BAs-nhrXLBTDCL8IvJ/pub?gid=0&single=true&output=csv"
Uma vez configuradas as variáveis de ambiente, é possível verificar que procedimentos podem ser executados pelo update_leggo_data
acessando o help do mesmo:
./update_leggo_data.sh -help
Olhe com cuidado para todos os roteiros que podem ser executados.
Para executar o pipeline principal com a atualização completa de todos os dados para as proposições de interesse (sem análise de emendas), execute:
./update_leggo_data.sh -run-basic-pipeline
Atente que dependendo do número de proposições de interesse esse passo pode demorar um tempo considerável.