Olá essa é uma tentativa de simular uma simples implementação de sistema de PDV inspirado no repositório do slackjeff - pdvShell
Devido em alguns momentos a complexidade de ser implementado algumas funcionalidades como por exemplo geração do invoice em pdf foi necessário o uso de CLI em go lang para apoio.
Projeto foi feito exclusivamente para testar meus conhecimentos em Shell Script, como deixarei no Github casao mais pessoas possam se interessar e ajudar em melhorias fiquem a vontade!
Lembrando que poderá ter alguns problemas ainda mais que é a primeira versão, mas qual software é 100% funcional e nunca dá problema?
❗ Linguagens utilziadas❗
Será necessário a instalação dos sequites pacotes no Sistem Operacional.
O projeto foi estruturado algo "parecido" que temos hoje em linguagens mais avançadas que lembra vagamente de Orientação a Objetos.
Responsável por guardar os arquivos dos relatórios e invoices.
Responsável por guardar os arquivos e ou binários que serão importados pelo script principal app, deixo uma documentação básica de cada módulo.
- Banco de Dados
- Tabela Produtos
- Tabela Vendas
- Tabela Usuários
- Sistema Usuários
- Criação Usuários c/ senha criptografada
- Utils
- Encriptar/Decriptar Senha Usuários
- Sistema Login
- Validação do usuário/senha
- Validação de permissão admin
- Sistema Produtos
- Cadastro de Produtos
- Remover Produtos
- Consultar Estoque
- Sistema Vendas
- Validar Existencia de Produtos
- Realizar Venda
- Gerar Invoice
- Gerar Order JSON
- Remover Estoque após a venda
- Cadastrar a Venda na tabela Sales
- Envio por email ao finalizar venda ( a ser testado )
- Sistema Relatório
- Relatório de Venda Diário
- Relatório de Venda da Semana Atual
- Envio por email após geração do relatório ( a ser implementado )
- Aprimorar o Sistema de Relatório
- Aprimorar a geração do Invoice, no estado atual, ao gerar invoice com produtos onde o nome tem espaço por exemplo "Leite XPTO 5L", o nome do produto fica com aspas duplas no PDF
Para o funcionamento básico deixo dois usuários cadastrados, o que diferencia ambos é as opções que irão aparecer no menu.
basta executar o processo app
Usuario admin
Senha admin
Usuario vendedor01
Senha 12345
Basta editar o arquivo email-cfg.json, colocando as configurações da conta de e-mail que irá realizar o envio.
Basta editar o arquivo util, mudando o conteúdo da variável store_name