Skip to content

rafaelferreira2312/pdv-multiplataforma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDV Multiplataforma (Electron + PostgreSQL)

PDV Electron

PostgreSQL

Docker

Sistema de Ponto de Venda (PDV) desenvolvido com Electron para funcionar em Windows, Linux, macOS, iOS e Android, com backend containerizado em Docker e banco de dados PostgreSQL. Integra gestão de vendas, emissão de NF-e, controle de estoque e fluxo de caixa.

📌 Funcionalidades

  1. Vendas Rápidas Registro de vendas com múltiplos pagamentos (cartão, PIX, dinheiro) e impressão de recibos.

  2. Nota Fiscal Eletrônica Emissão de NF-e integrada com SEFAZ (API governamental).

  3. Controle de Estoque Alertas de reposição e rastreamento de produtos em tempo real.

  4. Integração com Hardware Suporte a balanças, leitores de código de barras e impressoras fiscais (Daruma, Bematech).

  5. Multiplataforma Funciona em desktops, totens de autoatendimento e dispositivos móveis.

  6. Modo Offline Sincronização automática quando a conexão é restabelecida.

🛠️ Tecnologias

  • Componente Tecnologia
  • Frontend Electron + React
  • Backend Node.js (Express)
  • Banco de Dados PostgreSQL
  • Containerização Docker
  • CI/CD GitHub Actions
  • Testes Jest (unitários), Cypress (E2E)

🐋 Arquitetura

mermaid

graph LR
  A[Frontend Electron] --> B[API Gateway]
  B --> C[Serviço de Vendas]
  B --> D[Serviço de Estoque]
  B --> E[Serviço Financeiro]
  C & D & E --> F[(PostgreSQL)]
  F --> G[Backup Cloud]

📦 Pré-requisitos

  • Docker 20+
  • Node.js 18+
  • PostgreSQL 15+

🚀 Instalação

Clone o repositório:

git clone https://github.com/seu-usuario/pdv-electron.git
cd pdv-electron

Suba os containers:

docker-compose up -d

Configure o banco de dados (via script ou interface):

npm run db:migrate

Inicie o PDV:

npm run start:dev

🔧 Configuração de Hardware

Edite config/hardware.json para adicionar dispositivos:

{
  "balanca": {
    "modelo": "Toledo",
    "interface": "USB"
  },
  "impressora": {
    "tipo": "fiscal",
    "driver": "Daruma"
  }
}

📊 Screenshots

Tela de Vendas Controle de Estoque Tela de Vendas Estoque

📄 Licença

MIT License. Consulte LICENSE para detalhes.

📌 Notas Adicionais

Para iOS/Android, o projeto utiliza CapacitorJS para empacotamento.

O diretório docs/ contém manuais de integração com hardware específico.

Releases

No releases published

Packages

No packages published