Analisando propostas

Desenvolvimento de ferramenta parecida com meu acessor, Api oficial do whatsapp

Publicado em 09 de Novembro de 2025 dias na TI e Programação

Sobre este projeto

Aberto

# 1) Visão geral

* Produto PF com dois pilares: **Compromissos & Rotina** + **Finanças Pessoais**.
* Canais: **WhatsApp** (captura/consulta por linguagem natural) e **Painel Web (React/TS)**.
* Monetização por **assinatura** com **cobrança via Deposita.ai**.
* Objetivo: registrar compromissos e lançamentos financeiros via chat, gerar lembretes/relatórios e permitir gestão pelo painel.

# 2) Funcionalidades

## Compromissos & Rotina

* Entrada NL (ex.: “Dentista terça 14h”), extração de data/hora/local/prioridade.
* CRUD de eventos (título, descr., Início/fim, **RRULE**, local, prioridade, tags, status).
* **Lembretes** configuráveis (padrões T-24h/T-1h/T-10min) via WhatsApp (+ e-mail opcional).
* Comandos rápidos: “agenda de hoje/semana”, “adiar 30min”, “cancelar X”, “concluir X”.
* Painel: calendário mês/semana (drag-and-drop), lista com filtros, preferências (fuso, idioma), export/import iCal básico.

## Finanças Pessoais

* Entrada NL (ex.: “Gastei 50 no mercado (débito)”, “recebi 3500 salário”).
* Extração: tipo (despesa/receita/transferência), valor, data/hora, método, estabelecimento.
* Contas/carteiras (wallet/checking/credit), saldos manuais.
* Categorias + **Regras** (pattern→categoria, prioridade, on/off).
* Relatórios: gastos por categoria, evolução mensal, comparativos; **Orçamentos/Metas** por categoria com alertas proativos.
* Export/Import csv; consultas nl (“quanto gastei em restaurantes este mês?”).

## Assinaturas & Cobrança (Deposita.ai)

* Planos mensal/anual (trial opcional).
* **Checkout**: criar sessão na Deposita.ai e redirecionar/compartilhar link.
* **Webhooks**: `invoice.payment_succeeded/failed`, `subscription.created/canceled`.
* Lado app: validar HMAC, idempotência, atualizar status, liberar/bloquear recursos.
* Painel: /billing com plano, status, próxima cobrança, histórico; pro-rata se suportado.

# 3) Arquitetura

* **Frontend**: React 18 + TS, Vite, React Router, Zustand/Redux leve, Recharts, Radix/Headless UI.
* **Backend (Go 1.22+)**: Clean/Hexagonal; framework HTTP (Gin/Fiber/Echo).
* **PostgreSQL 15+** (dados principais + JSONB), **Redis 7** (cache + filas).
* Mensageria: Redis Streams/NATS (lembretes, webhooks).
* Armazenamento S3-compatible (exportações/anexos).
* Observabilidade: OpenTelemetry + Grafana/Prometheus + Sentry.
* Infra: Docker (dev), K8s/ECS (prod), IaC Terraform, secrets em Vault/SSM.
* Serviços/módulos sugeridos (podem iniciar monólito modular):
  `auth-svc`, `wa-svc` (WhatsApp), `nlp-svc` (temporal/financeiro), `agenda-svc`, `finance-svc`, `billing-svc` (Deposita.ai), `report-svc`.

# 4) Modelo de dados (essencial)

* **users**(id, name, email, password_hash, whatsapp_msisdn, timezone, locale, status, twofa_secret).
* **Consents**(user_id, purpose, channel, granted_at, revoked_at).
* **User_settings**(default_reminders jsonb, wa_optin…).
* **Events**(user_id, title, starts_at, ends_at, recurrence_rule, location, priority, status).
* **Reminders**(event_id, offset_minutes, channel, active, last_sent_at).
* **Transactions**(user_id, account_id, type, amount, occurred_at, merchant, method, notes, category_id, subcategory_id, source, nlp_meta jsonb).
* **Accounts**(type, name, balance, currency). **Categories/rules/budgets/reports** conforme descrição.
* **Plans/subscriptions/invoices** com `provider="deposita"` e `external_ref` para referenciar a Deposita.ai.

# 5) Fluxos (E2E)

* **Compromisso via WhatsApp**: webhook → NLP temporal → cria `event` + `reminders` → confirma no WhatsApp → worker dispara lembretes.
* **Transação via WhatsApp**: webhook → NLP financeiro → grava `transaction` → aplica `rules` → confirma + resumo/alerta orçamento.
* **Assinatura**: painel cria sessão de checkout → pagamento na Deposita.ai → webhook `payment_succeeded` → valida HMAC + idempotência → `subscription.active` e recursos liberados; `failed/canceled` tratam dunning/bloqueio.

# 6) APIs (contratos mínimos)

* **Auth**: `post /auth/signup`, `/login`, `/refresh`, `/forgot`, `/reset` (jwt access/refresh).
* **WhatsApp**: `POST /webhooks/wa` (assinatura Meta/bsp), `post /wa/messages` (envio), `get /wa/templates`.
* **Compromissos**: `post/get/patch/delete /events`, `post /events/{id}/reminders`.
* **Finanças**: `post/get/patch /transactions`, `post/get /rules`, `post/get /budgets`, `get /reports/spending`, `post /reports/export`.
* **Billing (Deposita.ai)**: `get /plans`, `post /subscriptions/checkout`, `get /subscriptions/me`, `post /webhooks/deposita` (hmac + idempotência).

# 7) Frontend (React/TS)

* Rotas: **/login, /signup, /forgot**, **/dashboard** (cards agenda/finanças), **/agenda** (calendário + lista + filtros), **/transacoes**, **/relatorios**, **/regras**, **/metas**, **/billing**, **/config**, **/ajuda**.
* UX: responsive + dark mode; acessibilidade; gráficos Recharts; upload/import CSV; máscaras monetárias; atalhos.
* Integração com backend via OpenAPI client; estado global leve; toasts/diálogos de confirmação; i18n (pt-BR default).

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Criar um novo site personalizado

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por H. B. D. O. S.