felipefrizzo / maria-quiteria

Backend para coleta e disponibilização dos dados 📜

Home Page:https://www.dadosabertosdefeira.com.br/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Maria Quitéria

CI

Um projeto para libertar dados do município de Feira de Santana.

Não sabe quem foi Maria Quitéria?

Dados

Base de dados Fonte Descrição Coleta Banco de dados Download
Agenda (citycouncil.py) Câmara Municipal Agenda (ordem do dia, homenagens, sessões ordinárias etc) da Câmara Municipal. ✔️ ✔️ 🔜
Atas das sessões (citycouncil.py) Câmara Municipal Atas das sessões da Câmara Municipal. ✔️ ✔️ 🔜
Lista de Presença (citycouncil.py) Câmara Municipal Assiduidade dos vereadores da Câmara Municipal. ✔️ ✔️ 🔜
Despesas (citycouncil.py) Câmara Municipal Gastos realizados pela Câmara Municipal. ✔️ ✔️ Kaggle
Contratos (cityhall.py) Prefeitura Contratos realizados pela prefeitura entre 2016 e 2017. ✔️ 🔜 Kaggle
Diário Oficial (gazette.py) Prefeitura/Câmara de Vereadores Diário oficial do executivo e legislativo desde 2015. ✔️ ✔️ Kaggle
Diário Oficial (legado - antes de 2015) (gazette.py) Prefeitura Leis e decretos entre 1999 e 2015. ✔️ ✔️ Kaggle
Licitações (cityhall.py) Prefeitura Licitações realizadas pela prefeitura desde 2015. ✔️ 🔜 Kaggle
Pagamentos (cityhall.py) Prefeitura Pagamentos realizados pela prefeitura desde 2010. ✔️ 🔜 Kaggle

Contribuindo para o projeto

Contribuições são muito bem-vindas. Veja como contribuir no nosso Guia de Contribuição.

Toda a comunicação e demais interações do Dados Abertos de Feira estão sujeitas ao nosso Código de Conduta.

Configurando seu ambiente

Você precisará do Docker e do Docker-Compose para rodar o projeto.

Carregue as variáveis de ambiente

Um exemplo das configurações pode ser encontrado no arquivo .env.example, que deve ser copiado para um arquivo .env na raiz do projeto.

Caso queira utilizar um banco de dados diferente basta configurar a variável de ambiente DATABASE_URL em seu .env.

Instale as dependências e prepare os serviços

make build

O passo anterior vai criar um banco de dados postgres. Agora, basta aplicar as migrations:

make migrate

Executando os testes

make tests

Acessando o site

Rode o servidor com:

make run

Com as configurações padrão o painel de controle estará acessível pela URL: localhost:8000. Veja as bases de dados disponíveis no nosso painel público localhost:8000/painel.

Para navegar no admin, primeiro crie um super administrador:

make createsuperuser

Coletando os dados

Boa parte dos dados que temos vem da raspagem de dados feita por spiders. O comando abaixo vai executar todos os spiders e salvar os itens raspados no banco de dados:

make crawl

Durante a coleta e adição ao banco, vamos também tentar extrair o conteúdo dos arquivos encontrados.

Rodando os spiders individualmente

No diretório scraper você poderá encontrar os spiders responsáveis pela coleta dos dados. Para entender melhor como eles funcionam, dê uma olhada na documentação do scrapy.

Para rodar um spider, execute:

SPIDER=citycouncil_agenda make runspider
# ou
SPIDER=citycouncil_agenda START_DATE=03/01/2020 make runspider

Para salvar os dados de um spider em um arquivo:

docker-compose run --rm web scrapy crawl citycouncil_agenda -o citycouncil_agenda.json

Você pode substituir json por outros formatos como csv.

Caso queira passar alguma configuração extra para o Scrapy através do comando crawl você pode adicionar após o parâmetro --scrapy-args:

docker-compose run --rm web python manage.py crawl --scrapy-args '{"LOG_FILE": "test.log"}'

API

Sobre acesso a API veja instruções em nossa Wiki.

About

Backend para coleta e disponibilização dos dados 📜

https://www.dadosabertosdefeira.com.br/

License:MIT License


Languages

Language:Python 94.8%Language:HTML 4.0%Language:CSS 0.5%Language:Makefile 0.2%Language:Dockerfile 0.2%Language:JavaScript 0.1%Language:Shell 0.1%