BIGMAN
Bot de WhatsApp com IA conversacional para barbearia (Node + Gemini + Supabase).
19 testes · 19 passou · 0 falhou · 0 skip
- /home/diogo/projects/ai/BIGMAN/test-webhook.js0.00s
- resolve após o tempo determinado0.00s
- - sleep0.00s
- respeita o intervalo [min, max] quando fixo0.00s
- retorna uma promise que resolve0.00s
- - randomDelay0.00s
- formata número como moeda BRL0.00s
- usa vírgula como separador decimal (pt-BR)0.00s
- formata zero corretamente0.00s
- - formatCurrency0.00s
- capitaliza cada palavra0.00s
- normaliza caixa mista0.00s
- retorna vazio para entrada vazia0.00s
- retorna vazio para entrada nula0.00s
- - capitalize0.00s
- remove tudo que não é dígito0.00s
- mantém apenas dígitos de números internacionais0.00s
- retorna string vazia se não houver dígitos0.00s
- - sanitizePhone0.00s
Entrypoints (CLI)
- —
Módulos e funções principais
Estrutura de arquivos
- README.md
- database/schema.sql
- package-lock.json
- package.json
- src/controllers/webhook.controller.js
- src/database/cortes.repository.js
- src/database/supabase.js
- src/middlewares/validateEnv.js
- src/prompts/systemPrompt.js
- src/routes/webhook.routes.js
- src/server.js
- src/services/conversation.service.js
- src/services/gemini.service.js
- src/services/sessions.js
- src/services/whatsapp.service.js
- src/utils/delay.js
- src/utils/formatter.js
- src/utils/logger.js
- test-webhook.js
- test/delay.test.js
- test/formatter.test.js
README
# 💈 BIG MAN Barber Shop — WhatsApp Bot
Sistema completo de atendimento automático via WhatsApp com IA conversacional
para a **BIG MAN Barber Shop**.
> Node.js 18+ · Express · Google Gemini · Supabase
## Instalação
Pré-requisitos: **Node.js 18+** e contas de **Gemini** e **Supabase**.
```bash
git clone https://github.com/Diogo-Damasceno/BIGMAN.git
cd BIGMAN
npm install
cp .env.example .env # preencha GEMINI_API_KEY e as credenciais do Supabase
```
## Uso
```bash
# producao
npm start
# desenvolvimento (reinicia sozinho)
npm run dev
```
Ao iniciar, o bot conecta ao WhatsApp (QR Code) e responde clientes usando a
IA do Gemini, persistindo dados no Supabase.
### Testes rápidos (sem subir o servidor)
```bash
npm run test:health # checa saude do webhook
npm run test:verify # verifica assinatura
npm run test:message # envia mensagem de teste
```
## Requisitos
- Node.js >= 18.0.0
- Variáveis em `.env`: `GEMINI_API_KEY`, `SUPABASE_URL`, `SUPABASE_KEY` (ver `.env.example`)
## Licença
MIT — veja `LICENSE`.
Como rodar na prática (entrada → saída):
$ (WhatsApp) cliente: 'qual o status do meu pedido 8821?'
[webhook] assinatura valida [Gemini] consulta pedido 8821 -> 'em transporte' [Supabase] histórico salvo -> responde cliente no WhatsApp