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.
Pagina para controlar gastos
翻訳待ち
Loading the full README. The saved excerpt is shown below.
App multiusuario para controlar gastos: cuentas en varias monedas, categorías con subcategorías, compras en cuotas, vencimientos que avisan por Telegram y un resumen con tarjetas que cada persona arma a su gusto. Cada usuario ve solo sus datos.Read the full README ↗
App multiusuario para controlar gastos: cuentas en varias monedas, categorías con subcategorías, compras en cuotas, vencimientos que avisan por Telegram y un resumen con tarjetas que cada persona arma a su gusto. Cada usuario ve solo sus datos.
| Pieza | Servicio | Para qué |
|---|---|---|
| App | Vercel (Hobby) | Next.js 16 + TypeScript + Tailwind 4 |
| Base de datos | Supabase Postgres | Prisma 6 |
| Login | Supabase Auth | email + contraseña, sesión por cookie |
| Archivos | Supabase Storage | bucket privado comprobantes, enlaces firmados |
| Bot | Telegram Bot API | webhook en /api/telegram, sin proceso 24/7 |
| Avisos | Vercel Cron | /api/cron/recordatorios, una vez por día |
DATABASE_URL (puerto 6543) y DIRECT_URL (5432), reemplazando [YOUR-PASSWORD].Project URL (sin /rest/v1), anon public y service_role.comprobantes, privado.npm install
cp .env.example .env # completá las variables
npm run db:push # crea las tablas
npm run dev # http://localhost:3132
.env.example. No hace falta configurar zona horaria: la app calcula meses, semanas y vencimientos con el calendario argentino aunque el servidor corra en UTC (Vercel no permite definir TZ).vercel.json)./newbot → elegí nombre y usuario.TELEGRAM_BOT_TOKEN y el usuario (sin @) a NEXT_PUBLIC_TELEGRAM_BOT.TELEGRAM_WEBHOOK_SECRET y registrá el webhook una sola vez, abriendo esta URL en el navegador:https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://TU-APP.vercel.app/api/telegram&secret_token=<TELEGRAM_WEBHOOK_SECRET>
# en Transacciones).#123 y queda adjuntado./saldo (saldos por cuenta) y /proximos (vencimientos de 30 días).Todos los días el cron revisa los vencimientos planificados y las tarjetas de crédito con día de vencimiento, y avisa por Telegram con la anticipación que cada uno elija en Perfil.
Supabase publica automáticamente todo el esquema public como API REST usando los roles anon y authenticated, y la clave anon viaja en el JavaScript del navegador. Como esta app no usa esa API (habla con Postgres por Prisma), a esos roles se les quitan todos los permisos y se activa RLS en todas las tablas.
Eso lo hace prisma/seguridad.sql, que npm run db:push ejecuta solo después de cada cambio de esquema. Si alguna vez creás una tabla desde el panel de Supabase, corré:
npm run db:secure
Para comprobar que está bien cerrado, esto tiene que responder permission denied:
curl "$NEXT_PUBLIC_SUPABASE_URL/rest/v1/Transaction?select=id" -H "apikey: $NEXT_PUBLIC_SUPABASE_ANON_KEY"
El bucket comprobantes es privado y los archivos se sirven sólo con enlaces firmados de 10 minutos, generados por el servidor tras verificar que el adjunto sea del usuario que lo pide.