Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expor os dados extraídos em uma API pública ou um site. #13

Open
Leviosar opened this issue Oct 19, 2019 · 5 comments
Open

Expor os dados extraídos em uma API pública ou um site. #13

Leviosar opened this issue Oct 19, 2019 · 5 comments
Labels
enhancement New feature or request

Comments

@Leviosar
Copy link
Member

Ao meu ver a grande função de um projeto como esse é expor dados que deveriam ser públicos e de fácil acesso, existem diversas maneiras de se fazer isso e elas devem ser discutidas para encontrarmos a melhor.

  • API pública: uma API com endpoints que retornem os dados do parlamentar X, ou da sessão Y ou então entre um período de tempo.

  • Bots: hoje em dia a divulgação por meio de bots de Telegram e Twitter também é uma opção bem viável, com exemplo do ColaboraBot (desenvolvimento do pessoal do ColaboraDados).

  • Datasets: exportar um CSV atualizado para projetos como o Brasil.io consumirem e divulgarem.

De todo modo, podemos fazer uma ou todas essas opções para divulgação desses dados.

@Leviosar Leviosar added the enhancement New feature or request label Oct 19, 2019
@GabrielSimonetto
Copy link
Member

Fazer uma API publica poderia ser feito só no heroku? Ou pelo sqlite3 que o tiz falou nessa issue? Eu posso dar uma olhada em como se faz isso, @JPTIZ, @Leviosar, vocês já fizeram algo nesse sentido? Só pra eu ter uma idéia de como seria feito.

@GabrielSimonetto
Copy link
Member

GabrielSimonetto commented Oct 27, 2019

Se eu ir atrás disso, isso me dá margem pra fazer alguma coisa com flask? 😍

@JPTIZ
Copy link
Member

JPTIZ commented Oct 28, 2019

Ora, mas é claro, ter isso em Flask seria muito mais do que bem-vindo.

Sobre Heroku: não, não é necessário. Pra ter uma API pública é só ter um servidor, e para isso podemos usar o do próprio Caravela (a menos que comece a aumentar a demanda demais hehe). O sqlite3 também não seria uma API, ele só seria a forma de armazenar/recuperar os dados mesmo.

Uma API pública no fundo no fundo não passa de ter um servidor e tratar requisições do tipo...

  • Fulano manda uma requisição pra meusitebonito.com/operacao mandando, como corpo da requisição, um JSON {"dado": "valor", "outro_dado": "outro_valor"};
  • O servidor que hospeda meusitebonito.com vai ver que a URL era /operacao e redirecionar pra uma função que trata requisições pra esse endereço, usar o JSON do corpo da requisição pra fazer alguma coisa (ex: "buscar todos os dados filtando os que dado tem o mesmo valor que o especificado no JSON"), e manda de resposta pro Fulano algum dado como resposta (ex: os dados filtrados também no formato JSON);
  • Fulano tem um JSON agora, e ele pode fazer o que quiser (TM) com isso.

É literalmente o mesmo procedimento de abrir uma página normal na Web, só que você em vez de ter um HTML como resposta, você tem algo num formato mais para descrição de dados (ex: JSON ou XML).

@GabrielSimonetto
Copy link
Member

Bão demais, vou fazer isso sim

@Leviosar
Copy link
Member Author

@GabrielSimonetto não sou um grande entendedor do Flask, mas sei fazer minhas baguncinhas e tenho uma experiência boa com APIs REST, se quiser ajuda me da um toque :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants