Loading repository data…
Loading repository data…
brauliorrs / repository
Sistema para monitoramento de editais, bolsas e chamadas de pesquisa com fila editorial e publicação automatizada no Instagram.
Sistema automatizado para monitoramento de editais, bolsas e chamadas de pesquisa, com coleta em fontes públicas, fila editorial, geração de cards e publicação assistida.
O Fomenta Pesquisa é um projeto em Python voltado à automação da descoberta, organização e divulgação de oportunidades acadêmicas e científicas. Ele monitora fontes públicas de fomento, consolida editais em arquivos versionados, extrai informações relevantes, organiza uma fila editorial e prepara materiais para publicação em redes sociais.
O objetivo é reduzir o trabalho manual de acompanhamento de oportunidades e transformar chamadas públicas dispersas em um fluxo organizado de inteligência editorial para pesquisadores, instituições e projetos de comunicação científica.
Entrega principal: bot de monitoramento + base consolidada + fila editorial + cards de divulgação + painel local
Stack: Python, GitHub Actions, scraping responsável, JSON, CSV, HTML, APIs e automação editorial
Uso: comunicação científica, pesquisa institucional, curadoria de editais, divulgação acadêmica e operação editorial
Status: MVP funcional com workflows agendados, modo mock e preparação para publicação real via API
Editais, bolsas e chamadas de pesquisa são publicados em dezenas de páginas institucionais, frequentemente com estruturas diferentes, prazos curtos e pouca padronização.
Na prática, isso gera problemas como:
O projeto responde a esse problema criando um fluxo automatizado de monitoramento, organização e preparação editorial.
O Fomenta Pesquisa executa um pipeline que:
O projeto trabalha com fontes públicas de fomento, pesquisa, inovação e ciência, incluindo agências nacionais, fundações estaduais e instituições de apoio.
Entre as fontes monitoradas ou previstas estão:
A lista pode ser expandida por meio de catálogos de fontes planejadas, candidatas e descobertas.
.
├── src/
│ ├── main.py
│ └── ...
├── data/
│ ├── editais.json
│ ├── fila_publicacao.json
│ ├── historico_postagens.csv
│ ├── fontes.json
│ ├── fontes_planejadas.json
│ ├── fontes_candidatas.json
│ └── fontes_descobertas.json
├── dashboard/
├── templates/
├── posts/
├── logs/
├── .github/
│ └── workflows/
├── requirements.txt
├── .env.example
└── README.md
Fontes oficiais
↓
Coleta e leitura de páginas
↓
Extração de título, prazo, fonte e link
↓
Enriquecimento com resumo e metadados
↓
Atualização da base consolidada
↓
Geração da fila editorial
↓
Criação de card e legenda
↓
Modo mock ou publicação real
↓
Histórico de postagens
↓
Auditoria e descoberta de novas fontes
Depois da execução, o projeto pode gerar ou atualizar:
data/editais.json
data/fila_publicacao.json
data/historico_postagens.csv
data/fontes_descobertas.json
posts/*.jpg
posts/*.txt
logs/bot.log
| Arquivo/Pasta | Função |
|---|---|
data/editais.json | Base consolidada dos editais monitorados |
data/fila_publicacao.json | Itens prontos ou candidatos à publicação |
data/historico_postagens.csv | Histórico de publicação ou simulação |
data/fontes_descobertas.json | Diagnóstico mensal de novas fontes candidatas |
posts/*.jpg | Cards visuais gerados automaticamente |
posts/*.txt | Textos de apoio e legendas em modo mock |
logs/ | Registros de execução e diagnóstico |
O projeto inclui um painel local para consulta, revisão e operação editorial.
Para abrir o painel, execute um servidor simples na raiz do projeto:
python -m http.server 8000
Depois acesse:
http://localhost:8000/dashboard/
O painel permite:
python -m venv .venv
No Windows:
.venv\Scripts\activate
No Linux/macOS:
source .venv/bin/activate
pip install -r requirements.txt
python -m src.main
O arquivo .env.example existe como referência para desenvolvimento local.
Para uso local, copie o modelo:
copy .env.example .env
ou, em Linux/macOS:
cp .env.example .env
INSTAGRAM_ACCESS_TOKEN=
INSTAGRAM_BUSINESS_ACCOUNT_ID=
INSTAGRAM_PUBLISH_MODE=mock
INSTAGRAM_API_HOST=https://graph.instagram.com
INSTAGRAM_API_VERSION=v24.0
PUBLIC_ASSET_BASE_URL=
INSTAGRAM_PUBLISH_TARGET=both
INSTAGRAM_REPOST_TARGET=story
INSTAGRAM_PUBLISH_STORIES=false
INSTAGRAM_MAX_NEW_PUBLICATIONS_PER_DAY=10
META_APP_ID=
META_APP_SECRET=
TIMEZONE=America/Sao_Paulo
Valores sensíveis, como tokens e secrets, não devem ser versionados no repositório.
Em produção no GitHub Actions, configure:
Settings > Secrets and variables > Actions
Use Secrets para dados sensíveis e Variables para parâmetros públicos ou operacionais.
O projeto opera em modo seguro por padrão.
INSTAGRAM_PUBLISH_MODE=mock
Nesse modo, o sistema gera cards e textos de apoio, mas não publica diretamente.
INSTAGRAM_PUBLISH_MODE=real
Nesse modo, o projeto pode enviar publicações usando a API oficial configurada.
A publicação real depende de token válido, conta profissional compatível, URL pública para a mídia, permissões adequadas na API e configuração correta dos secrets.
O projeto pode operar com dois tipos principais de workflow:
Executa coleta, atualização da fila editorial, geração de cards e publicação em modo mock ou real. Pode ser acionado manualmente ou por agendamento.
Executado mensalmente para:
Para fazer uma primeira carga com todos os itens prontos:
publish_all_ready=true.A execução publica ou simula todos os itens prontos e ainda inéditos, respeitando os limites editoriais e técnicos configurados.
Antes de ativar publicação real:
PUBLIC_ASSET_BASE_URL está acessível publicamente;Este repositório evidencia competências em:
O projeto depende de fontes públicas externas, que podem mudar estrutura, remover páginas, bloquear acesso automatizado ou publicar informações em formatos pouco padronizados.
Algumas limitações esperadas:
Essas limitações fazem parte do problema que o projeto busca organizar.
Consulte o arquivo LICENSE deste repositório.
Bráulio Roberto Rangel da Silva
Pesquisador e desenvolvedor com atuação em dados públicos, automação, observatórios digitais, comunicação científica, IA aplicada e produtos digitais.
GitHub: @brauliorrs