Nosso Caminho até o Lançamento
O desenvolvimento da Arara está dividido em fases claras, com marcos definidos para garantir a construção de um produto robusto, intuitivo e focado na Experiência do Desenvolvedor (DX).Fase 1: Fundação Técnica e Confiabilidade
Objetivo Principal da Fase 1
Construir um backend robusto e seguro que pode enviar uma mensagem de forma confiável através de uma chamada de API. Foco 100% no backend.
1
Infra & DevOps
Repositório Git no GitHub criado.
Projeto backend em Kotlin (Spring Boot) configurado com dependências principais.
2
Banco de Dados
Schema inicial no PostgreSQL definido e criado com ferramenta de migration (Flyway/Liquibase).
Tabelas
accounts, api_keys (com hash da chave) e messages (logs) incluídas.3
Autenticação
Implementar o interceptor na API que valida a API Key enviada no
Authorization Header, retornando 401 Unauthorized se a chave for inválida.4
Fila
Integrar o Kafka ao projeto. Criar um “producer” que publica as requisições de envio de mensagem em um tópico.
5
Core (Worker)
Criar o “consumer” do Kafka. Este serviço será responsável por:
- Conectar-se à API da Meta.
- Implementar a lógica de Retry com backoff para falhas de envio.
- Enviar mensagens para uma Dead-Letter Queue (DLQ) após N tentativas.
- Atualizar o status da mensagem na tabela
messages.
6
Critério de Conclusão da Fase 1
Uma chamada
POST /v1/messages feita via Postman/curl com uma API Key válida envia uma mensagem de template via WhatsApp e grava um log de “sucesso” no banco de dados.Fase 2: Experiência Mínima do Desenvolvedor
Objetivo Principal da Fase 2
Permitir que um desenvolvedor se cadastre, gere chaves de API, envie mensagens de teste (dev_mode) e veja os logs. Foco em conectar o frontend ao backend.
1
Frontend
Iniciar o projeto Next.js + Bun e configurar as rotas principais.
2
Autenticação de Usuário
Implementar o fluxo completo de Cadastro e Login no dashboard.
3
Dashboard
Criar a página onde um usuário logado pode gerar, visualizar e revogar suas chaves de API (
sk_test_ e, futuramente, sk_live_).4
Dev Mode
Implementar a lógica no backend que, ao receber uma chave de teste, usa o número da Arara para enviar uma mensagem de teste para o número cadastrado pelo desenvolvedor.
5
Dashboard: Logs
Criar a tela de “Logs” que busca e exibe as mensagens da tabela
messages pertencentes ao usuário logado.6
Critério de Conclusão da Fase 2
Um novo desenvolvedor consegue se cadastrar no dashboard, gerar uma chave de teste, e usar essa chave para enviar uma mensagem de teste que aparece em tempo real na tela de logs.
Fase 3: A “Mágica” (Lançamento do MVP)
Objetivo Principal da Fase 3
Implementar as funcionalidades de alto valor que resolvem a dor do cliente, completando a jornada para o lançamento.
1
Onboarding Live Mode
Construir o fluxo no dashboard para o usuário ativar o modo de produção, que inclui o processo de conexão do seu próprio número de WhatsApp.
2
Backend: Chave Live
Implementar a lógica que só libera a geração da chave
sk_live_ após o sucesso do onboarding.3
Gerenciador de Templates
Desenvolver a interface visual no dashboard para criar, submeter e visualizar o status dos templates.
4
API & Backend: Agendamento
Implementar a funcionalidade de Agendamento de Mensagens, incluindo o campo
scheduled_at na API e o serviço scheduler no backend.5
Critério de Conclusão da Fase 3
Um cliente pode se cadastrar, testar no dev_mode, ativar o live_mode, criar um template, agendar uma mensagem e enviá-la com sucesso usando seu próprio número.

