Skip to main content

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.