Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
Moedin.IA é uma plataforma de gestão financeira pessoal com dashboard web, histórico de lançamentos, planejamento mensal, gastos fixos, parcelamentos, metas, perfil, planos e integração com IA, WhatsApp, n8n, Evolution API e Supabase.Read the full README ↗
Assistente financeiro pessoal. A pessoa registra gastos pelo WhatsApp (texto, áudio, foto de comprovante ou PDF de fatura) e acompanha tudo num painel web. Trabalho de Conclusão de Curso de Sistemas de Informação, em produção em https://www.moedin-ia.com.br.
Resumo do projeto para portfólio (problema, solução, prints, tecnologias, desafios): docs/portfolio/README.md.
O código atual fica na branch main. As versões anteriores estão em branches versao-* e em tags (ver Versões).
apps/web)n8n/)supabase/)As capturas usam uma conta de demonstração com dados fictícios.
| Visão geral | Gráficos e orçamento |
|---|---|
| Histórico | Parcelamentos |
|---|---|
| Metas | Limite de gasto |
|---|---|
No celular:
WhatsApp do usuário
│
▼
Evolution API ──webhook──▶ n8n (agente de IA) ──RPC──▶ Supabase (Postgres + Auth + Realtime)
(servidor de casa) (servidor de casa) ▲
│ │ leitura/escrita com RLS
▼ │
Anthropic (Claude) + OpenAI Painel Next.js (Vercel)
(texto e visão) (só transcrição) ▲
│
Navegador do usuário
Três peças, um banco só:
apps/web): Next.js 16 publicado na Vercel. Fala com o Supabase direto do navegador, protegido por Row Level Security.n8n/): um workflow com o nó AI Agent. O modelo decide qual ferramenta chamar; cada ferramenta é uma função SQL (RPC) no Supabase. Roda num servidor doméstico, junto com a Evolution API (ponte com o WhatsApp) e o Redis.supabase/): PostgreSQL gerenciado pelo Supabase. Guarda os dados, a autenticação e as regras de negócio do bot.Quando o bot grava um lançamento, o painel aberto atualiza sozinho pelo Realtime do Supabase.
.
├── apps/
│ └── web/ Painel e landing (Next.js). É o que a Vercel publica.
├── n8n/
│ ├── workflow/ Os três workflows que rodam em produção.
│ ├── AGENTE-V2.md Documentação completa do bot, versão a versão.
│ ├── SYSTEM-PROMPT-AGENTE-V2.md Prompt do agente (igual ao que está dentro do workflow).
│ └── lib/pdf-relatorio.js Fonte do gerador de PDF usado no workflow.
├── supabase/
│ └── migrations/ 001 a 037: esquema, RLS, funções do bot, Realtime.
├── infra/bot/ Compose do servidor do bot, scripts de publicar, testar e backup.
├── docs/ Explicação do código, auditoria de privacidade, revisão final.
├── historico/ Versões antigas guardadas para consulta. Nada ali roda.
├── docker-compose.yml Ambiente local (n8n, Redis, Evolution, web).
└── .env.example Modelo das variáveis de ambiente.
apps/web)Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS 4, Supabase SSR, Recharts, GSAP na landing.
| Rota | O que é |
|---|---|
/ | Landing de venda (plano único) |
/login, /cadastro | Entrada e criação de conta (e-mail e senha ou Google) |
/recuperar-senha, /atualizar-senha | Redefinição de senha por link no e-mail |
/termos | Termos de uso e política de privacidade |
| Rota | O que faz |
|---|---|
/dashboard | Resumo do mês, gráficos, previsão de fim de mês, análises automáticas e avisos |
/historico | Todos os lançamentos, com filtros, edição, exclusão e exportação em CSV |
/fixos | Gastos fixos e receitas fixas (recorrentes) |
/parcelamentos | Compras parceladas, progresso e quitação antecipada |
/categorias | Categorias com cor e ícone |
/metas | Metas de economia |
/limite | Limite de gasto do mês, geral e por categoria |
/whatsapp, /onboarding | Vínculo do número com a conta, por código de ativação |
/perfil | Dados pessoais, exportar dados, excluir conta |
/gastos-fixos, /planejamento-mensal e /planos existem só como redirecionamento de endereços antigos.
A proteção é feita em src/proxy.ts (no Next 16 o antigo middleware se chama proxy) e reforçada pelo RLS no banco.
src/app/api)| Rota | Quem chama | O que faz |
|---|---|---|
POST /api/categories/ensure | painel, ao entrar | Cria as categorias padrão que faltarem |
GET /api/account/export | painel | Exporta todos os dados do usuário (LGPD) |
POST /api/account/delete | painel | Exclui a conta e os dados (LGPD) |
GET /api/whatsapp/qr | onboarding | QR code que abre a conversa com o bot |
GET /api/cron/recurrences | Vercel Cron, 06:00 UTC | Gera os lançamentos de fixos e parcelas que venceram |
Todas exigem sessão, menos o cron, que exige Authorization: Bearer $CRON_SECRET.
This is the beginning of the README. Read the rest at the original. Read the full README ↗