Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Documentação de Arquitetura e Escopo: Projeto BMLINK

  1. Visão Geral do Sistema O BMLINK é uma plataforma SaaS (Software as a Service) Multi-tenant projetada para o setor de food service. Ele funciona como um sistema completo de delivery, retirada de balcão e cardápio digital (com QR Code para mesas), oferecendo aos lojistas um painel Kanban em tempo real para gestão de pedidos.

  2. Stack Tecnológico e Infraestrutura (Docker) Todo o ecossistema será conteinerizado para facilitar o deploy e a escalabilidade. O ambiente local e de produção rodará em cima de um docker-compose orquestrando os seguintes serviços:

Frontend (Painel Lojista + Tela do Cliente): Node.js (utilizando Next.js ou framework similar).

Backend (API + WebSockets): Python (FastAPI).

Banco de Dados: PostgreSQL 15+.

Worker/Background Tasks: Nativo do Python (ou Redis + Celery no futuro) para a fila de envio de mensagens do WhatsApp.

  1. Arquitetura Multi-Tenant (Isolamento de Dados) O banco de dados PostgreSQL utilizará o padrão Schema-per-Tenant para garantir o isolamento e segurança dos dados de cada restaurante.

Schema public: Gerencia as configurações globais do BMLINK (tabela de empresas associadas, links/slugs, credenciais do WhatsApp e lojistas master).

Schemas tenant_{cnpj}: Cada empresa terá o seu próprio schema contendo as tabelas: produtos, categorias, clientes, pedidos, áreas_de_entrega e complementos. O acesso aos dados se dá via alteração de search_path no Backend.

  1. Integrações Externas WhatsApp (n8n + Solução Própria): Disparo de mensagens transacionais (OTP para login, resumo do pedido, chave PIX e atualizações de status). Utiliza o Outbox Pattern para não perder mensagens em caso de queda da API.

Mercado Pago (PIX Automático): Geração de QR Code e recebimento de Webhooks para atualização automática de pagamento aprovado.

ViaCEP / BrasilAPI: Autocompletar endereço e validação de taxa de entrega baseada no bairro do cliente.

Token API (Inbound): Geração de Token JWT estático para sistemas ERP/PDV de terceiros enviarem o cadastro de produtos para a nuvem do BMLINK.

  1. Funcionalidades Core (Regras de Negócio) 5.1 Visão do Cliente (Front-end Dinâmico) Acesso Direto: Acesso via URL amigável (bmlink.com.br/fogaocolonial).

Login Sem Senha: Autenticação via número de WhatsApp (código OTP).

Múltiplos Endereços: Cadastro de endereço com API de CEP (ViaCEP) + Ponto de Referência obrigatório para entregas.

Motor de Produtos: Suporte a adicionais e complementos (ex: pizza meio a meio, ponto da carne).

Modos de Operação:

Entrega: Exige bairro cadastrado e calcula frete dinâmico.

Retirada: Esconde endereço do cliente e ignora frete.

Mesa (Cardápio Digital): Leitura de QR Code (?mesa=12), oculta frete e vincula o pedido diretamente à mesa no salão.

5.2 Visão do Lojista (Painel Administrativo) Kanban em Tempo Real: Gestão de pedidos (Pendentes > Em Preparo > Saiu para Entrega) utilizando WebSockets (sem necessidade de dar refresh na página). Alertas sonoros para novos pedidos.

Impressão Térmica: Geração de página em formato de cupom (80mm) chamando o comando de impressão silenciosa do navegador.

Gestão de Estoque e Frete: Aprovação de produtos vindos do ERP, upload de fotos (armazenamento local via Backend) e cadastro de taxas por bairro.

Status da Loja: Abertura/Fechamento automático por horário ou chave geral de emergência.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages