Edu

November 27, 2018 · View on GitHub

Maintainability

Edu

O Edu é o robô de atendimento virtual da SME.

Atualmente, o robô permite aos usuários:

  • saber o cardápio das escolas;
  • fornecer feedback sobre a refeição; e
  • se cadastrar para receber notificações

Arquitetura

arquitetura

Dependências

O Edu usa também:

Plataformas de chat

O edu suporta as seguintes plataformas:

Note que:

  1. Será necessário gerar tokens de acesso à plataforma que desejar suportar, e adicionar ao arquivo conf/bot.conf
  2. O facebook requer um certificado válido na máquina que receber o webHook

Coleções do mongodb

O Edu possui três coleções:

  • messages_meta, guarda informações das mensagens armazenadas nas filas
  • users, guarda informações dos perfis que já interagiram com o robo
  • chats, guarda informações sobre as interações dos usuários

Monitoria

O rabbitmq dispõe de um plugin de administração que também inclui uma interface web. Mais informações na documentação.

As filas de tarefa do Celery podem ser monitoradas através do flower.

Rodando localmente

  • Atualize conf/bot.conf com os apontamentos locais e tokens necessários e gerencie os status dos componentes com o supervisor (um arquivo de configuração está disponível em conf/supervisor.edu.conf)

  • Os webHooks podem ser servidos diretamente através do ngrok ou serveo. Com serveo: [PYTHON_ENV]/python webhooks.py e ssh -R 80:localhost:5001 serveo.net

  • A API serve os dados sobre escolas e refeições. Veja mais sobre a API no repositório do projeto.

  • Para executar o message broker: sudo rabbitmq-server start

  • Para executar os workers: [PYTHON_ENV]/celery -A chat_processor worker --loglevel=info