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.
- 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.
- 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
make bakcnd-bash
Inicia os containers e entra no bash do backend
/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
- PHP My Admin > Usuário
root
Senha123
- Popular as variáveis no .env
MFP_URL
- URL do Finanças na MãoMFP_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
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.