Uso de parte da stack Serenata de Amor como o Jarbas para auxiliar cidadãos a fiscalizarem seus políticos pelo Telegram.
O projeto está em construção ainda então não espere muita coisa. Assim que novas situações forem incluídas este README será atualizado com 9dades!
O básico é o seguinte:
- Docker Compose para facilitar as coisas
- Token do robô do Telegram (obtenha pelo BotFather)
- Ambiente de desenvolvimento do Serenata de Amor
Para o terceiro item faça o seguinte (leia o comentário final antes de executar):
git clone https://github.com/okfn-brasil/serenata-de-amor.git && cd serenata-de-amor/ && cp contrib/.env.sample .env && cp rosie/config.ini.example rosie/requirements.txt rosie/rosie/. && docker-compose up -d
Não sei se existe algum problema com o projeto em si, mas não roda de primeira, pode lançar vários erros. O que fiz para funcionar no meu caso foi desabilitar a construção do serviço research
no docker-compose.yml
.
Como tive que criar e corrigir algumas situações no Apache Camel, dependendo de quando você baixar o repositório talvez a versão dos componentes no projeto principal ainda não tenham sido liberados para download no Maven. Para esse caso, ou você faz download do meu fork e faz o build a partir da branch de trabalho com a versão necessária ou o download do projeto oficial.
Já não faz jus a versão atual. Atualizarei em breve.
- Controle de transação da conversa (máquina de estado).
- Caso a opção não esteja disponível informar o usuário e finalizar a transação da conversa.
- Listagem dos políticos configurados via opção /atual.
- Excluir determinado político configurado previamente via opção /retirar.
- Mapeamento dos serviços ofertados pelo Jarbas.
- Pesquisar histórico do político via opção /pesquisar.
- Informar usuário para esperar pacientemente até 3x com mensagens distintas já que o Jarbas demora para processar.
- Caso o Jarbas informe que tenha mais item do retorno da pesquisa, perguntar ao usuário se quer receber mais registros da pesquisa ou não.
- Usuário escolher qual político deseja receber notificações de gastos suspeitos via opção /configurar.
- Envio de notificações (push notification) para usuários que configuraram o político que fez gasto suspeito.
- Atualização da figura fluxo mínimo viável.
- Realizar teste de estresse para medir consumo de memória e CPU.
- Monitoramento via Jolokia ou JMX com dashboard.
- Desenvolver componente para usar Facebook Messenger já que hoje não existe para o Apache Camel.
- Criar adaptador genérico a fim que o FROM (consumer) e o TO (producer) suporte não só o Telegram mas qualquer componente que receba/responda algo, sendo assim um wrapper deverá ser usado tanto para a mensagem de entrada quando de saída já que hoje o projeto utiliza o esquema de mensagem do componente do Telegram.
- Contribuição ao projeto open-source Apache Camel (PR 2318 e CAMEL-12478) aprimorando o componente de integração com Telegram.
- Correção de defeito para configuração programática com Spring do Rest Client (PR 2350 e CAMEL-12541) pois funcionava apenas via XML para uso do componente CXF-RS.