Automação e Sistemas ML-AUT-26008

VendaFácil POS — caixa rápido com livro-caixa digital

Registro de Vendas e Pagamentos — Rápido como Anotar no Caderno

📝 Resumo do Projeto

O VendaFácil POS é um micro-sistema de caixa: uma página web simples onde o vendedor digita o valor, escolhe a forma de pagamento (Dinheiro, Cartão de Crédito, Cartão de Débito ou Pix) e clica em registar. O sistema carimba automaticamente data e hora exatas e grava a venda num ficheiro de texto (vendas.txt) que qualquer pessoa abre no Bloco de Notas ou no Excel. Sem instalações, sem base de dados, sem mensalidades de software de ponto de venda.

🖥️ Como é a Aplicação (Modo Visual)

🛒 Tela do Caixa
Valor da Venda (R$)
R$ 49,90
Forma de Pagamento
💵 Dinheiro 💳 Crédito 💳 Débito 💠 Pix
✅ Registar Venda
Grava
Automatico
📄 vendas.txt (abre no Bloco de Notas / Excel)
2026-05-24 09:12:33, 25.00, Dinheiro
2026-05-24 09:47:10, 120.50, Cartão de Crédito
2026-05-24 10:03:45, 89.90, Cartão de Débito
2026-05-24 10:15:02, 49.90, Pix ✔

⚙️ O Que o Sistema Faz

Capacidade Descrição Funcional
🛒 Registro Rápido de Vendas Dois campos — valor e forma de pagamento — e um clique. Menos tempo a preencher que a tirar o talão do bolso.
💳 Formas de Pagamento Pré-definidas Dinheiro, Crédito, Débito e Pix definidos no próprio código (formas_pagamento): nunca aparece "pixx" escrito errado nem formas improvisadas — os relatórios futuros saem limpos.
🕐 Carimbo de Data/Hora Automático Cada venda recebe o timestamp exato do momento (datetime.now()) — histórico cronologicamente impecável sem o vendedor digitar nada.
📄 Gravação por Acréscimo O ficheiro abre em modo append ("a"): cada nova venda entra no final da lista. As vendas anteriores nunca são tocadas — o histórico é intocável por desenho.
🔄 Retorno Imediato ao Caixa Após registar, a página recarrega limpa (padrão redirect do Flask) — o caixa está pronto para a próxima venda em menos de 1 segundo, sem botões extra.
🛡️ Proteção Contra Campos Vazios Se o valor ou a forma de pagamento faltarem, a venda simplesmente não grava e o sistema volta para a tela inicial — nunca há linhas corrompidas no histórico.
🧯 Captura de Erros Geral Qualquer falha inesperada é capturada pelo bloco try/except e registrada no console — a aplicação informa erro em vez de travar silenciosamente.

🚀 Benefícios para a Operação

  • Fechamento de caixa simplificado: no fim do dia, o ficheiro de texto abre direto no Excel — separa por forma de pagamento e soma em minutos.
  • Custo zero permanente: sem licenças de PDV, sem taxas de software, sem servidores — corre num computador simples com navegador.
  • Rastreabilidade total: cada venda registada tem data, hora, valor e forma de pagamento — auditar "aquela venda das 10h da manhã" leva segundos.
  • Aprendizagem instantânea: a tela tem 2 campos e 1 botão; qualquer pessoa usa corretamente no primeiro dia, sem manual.
  • Dados em formato universal: o arquivo TXT é lido por Excel, Google Sheets, Bloco de Notas e qualquer linguagem de análise — os dados nunca ficam "reféns" de um software.
  • Portabilidade total: pode servir um balcão, uma feira, um evento ou um teste de negócio — leva-se o notebook e o caixa viaja junto.

⏱️ Agilidade e Fiabilidade na Execução

Aspeto Como é Garantido
⚡ Velocidade de Registro Escrever uma linha num ficheiro de texto local leva milissegundos — a velocidade real do sistema é a velocidade de digitação do vendedor, não do software.
🔌 Funciona Sem Internet Todo o sistema (página + gravação) corre localmente (Flask em localhost); balcões com rede instável continuam a vender normalmente.
📈 Cresce Sem Degradar O modo append funciona igualmente com 10 ou 100.000 linhas — o décimo milésimo registo é tão rápido quanto o primeiro.
💾 Histórico Imutável O sistema nunca apaga nem reescreve o ficheiro, só acrescenta — eliminando o risco de um dia de vendas ser "sobrescrito" por engano.
🧱 Estrutura de Linha Fixa Cada venda segue o padrão data, valor, pagamento — o ficheiro já nasce "semi-estruturado", pronto para importação direta em planilhas.

📦 Tecnologias Utilizadas (Traduzidas para Valor de Negócio)

Biblioteca / Módulo Função no Projeto (Explicação Simples)
flask "O balcão digital": serve a página de registro no navegador e recebe cada venda enviada — um servidor web inteiro num único ficheiro Python.
render_template "O decorador": apresenta a tela de caixa em HTML dando destaque às 4 formas de pagamento pré-definidas.
request / redirect / url_for "O atendente": recolhe o que foi digitado, envia para gravação e devolve o caixa limpo para a próxima venda, tudo num ciclo contínuo.
datetime "O relógio de ponto das vendas": carimba cada transação com data e hora exatas — sem depender da memória de ninguém.
os + gravação em ficheiro "O livro-caixa": guarda todas as vendas num ficheiro TXT na própria pasta do programa, acrescentando nunca apagando.
💡 A Filosofia e o Próximo Passo: este sistema resolve hoje o essencial — registar cada venda em 3 segundos. E como os dados já estão limpos e padronizados, ele é a "semente" perfeita para evoluir: uma rota /relatorio lendo o próprio vendas.txt pode gerar o fechamento diário, gráficos de Pix vs. cartão vs. dinheiro e ranking de horários de pico — sem mudar nada no que já funciona.