Repositório de referência do módulo Fábrica de Apps (Clube Divos da IA). É um Kanban compartilhado que, quando alguém recebe uma tarefa ou é marcado num comentário, avisa a pessoa no WhatsApp — sem n8n, direto pela UazAPI.
Este é um projeto de aula, com dados de exemplo (Ana, Bia, Carol, Dedé). Não tem nenhum dado real de equipe nem segredo commitado.
[ public/kanban-board.html ] <- a interface (HTML/CSS/JS), gerada do template
| fetch (header X-Kanban-Token)
v
[ src/app/api/kanban/[boardId]/route.ts ] <- API Next.js (GET/PUT do quadro)
| salva no banco + ao salvar, chama a notificação
v
[ Supabase -> tabela kanban_boards ] <- onde os dados vivem
|
v
[ src/lib/kanban/notify.ts ] -> UazAPI -> WhatsApp da pessoa
- A interface toda mora em
_template_kanban.html. Não editepublic/kanban-board.htmldireto — ele é gerado: rodepython3 gerar_kanban.py. - Os dados ficam no Supabase (tabela
kanban_boards). Em modo local, caem noboards/divos-equipe.json. - A notificação está em
src/lib/kanban/notify.ts— é a estrela da Fase 3.
npm install
npm run dev # http://localhost:3000 (senha do quadro = HTML_ANYTHING_KANBAN_TOKEN)Copie .env.example para .env.local e preencha. As de WhatsApp:
| Variável | Pra quê |
|---|---|
UAZAPI_URL |
base da sua instância UazAPI |
UAZAPI_TOKEN |
token da instância (número conectado via QR) |
KANBAN_PHONE_MAP |
de-para nome → telefone (JSON) |
Quando o quadro é salvo, o app compara o estado antigo com o novo, detecta os
eventos (tarefa atribuída, @menção em card, @menção no mural), procura o telefone
da pessoa no KANBAN_PHONE_MAP e manda um POST pra UazAPI. Só isso.
⚠️ UazAPI é não-oficial (conecta via QR, tipo WhatsApp Web). Perfeita pra uso interno/time. Se for vender um app com WhatsApp pra cliente, o caminho sustentável é a WhatsApp Cloud API oficial da Meta — a função emnotify.tsmuda só o endpoint.
- PLANO.md — as fases da construção (do front ao WhatsApp)
- PROMPTS.md — os prompts prontos pra construir cada fase
- AULA.md — o roteiro da aula com tempo por bloco