Skip to content

Latest commit

 

History

History
76 lines (64 loc) · 3.37 KB

README.md

File metadata and controls

76 lines (64 loc) · 3.37 KB

tecnologias


wakatime


Market Control

A ideia desse projeto é criar um sistema para controlar os gastos de uma família com o mercado. Basta ter o QR code do NFCe e o sistema irá buscar os dados e salvar no banco de dados para posteriores consultas e relatórios.

Iniciando o Projeto

  • Rodar os seguintes comandos:
      docker-compose up
      make bakcnd-bash
      chown www-data:www-data -R storage/framework
      chown www-data:www-data -R storage/logs/
      cp .env.example .env
      php artisan key:generate
      php artisan migrate
  • Popular as variáveis de ambiente do arquivo .env.
    • Caso tenha mais de um username permitido a acessar o app via telegram, adicione os usernames (sem o @ na frente) separados por vírgula na variável APP_TELEGRAM_ALLOWED_USERNAMES.
    • Popular a variável APP_TELEGRAM_BOT_TOKEN com o token do bot criado no telegram.

Comandos Make

  • make bakcnd-bash Inicia os containers e entra no bash do backend

Comandos para interagir com o bot

  • /start - Inicia uma nova conversa com o chatbot
  • /nfce - Inicia o processo de salvar uma NFCe no banco de dados, aqui temos a possibilidade de processar tanto um link quanto um QR-Code. No final, perguntamos se deseja salvar uma movimentação de despesa no Finanças na Mão.
  • /month - Relatório do mês atual
  • /last_purchase - Relatório da última compra
  • /end - Finaliza a conversa com o chatbot

Acessos

Integração com o Finanças na Mão

  • Popular as variáveis no .env
    • MFP_URL - URL do Finanças na Mão
    • MFP_TOKEN - Token de autenticação MFP do Finanças na Mão
  • No .env do Finanças na mão, popular as variáveis
    • MARKET_CONTROL_HASH - Hash do usuário do Market Control no Finanças na Mão

Obs.: Se ambas estiverem em container Docker, o container mfp_app e mfp_db devem estar na mesma network que o container do Market Control. Para colocar na mesma network, basta usar os comandos:

  docker network ls
  docker network connect nome-da-rede nome-do-container

Para checar se está tudo certo, pode usar:

  docker network inspect nome-da-rede-market-control

Reiniciar boot em caso de loop

Pode acontecer de o boot entrar em loop, então deve-se rodar os comandos:

  curl -X POST "https://api.telegram.org/botSEU_TOKEN/getWebhookInfo"
  curl -X POST "https://api.telegram.org/botSEU_TOKEN/deleteWebhook"
  curl -X POST "https://api.telegram.org/botSEU_TOKEN/getUpdates" -d "offset=-1"
  curl -X POST "https://api.telegram.org/botSEU_TOKEN/setWebhook" -d "url=https://marketcontrol.financasnamao.com.br:8443/api/chat/webhook"
  • O primeiro comando é para ver o status do webhook.
  • O segundo é para deletar o webhook.
  • O terceiro é para pegar as mensagens que estão em espera.
  • O quarto é para setar o webhook novamente.

Ao rodar o segundo comando, esperar alguns segundos antes de rodar o terceiro comando.