Personal
2026
Finanzas
Un dashboard de finanzas personales para ingresos y gastos. El acceso es solo Google OAuth (Auth.js con sesión en base de datos). Tras el login hay cinco vistas: dashboard, mensual, anual, categorías y cuentas. Puedes crear y editar gastos e ingresos, asignar método de pago y cuenta, añadir categorías con emoji, poner un límite mensual por categoría y gestionar tarjetas o cuentas. La lista mensual filtra por texto, categoría y método. Las gráficas cubren series del mes, año contra año, desglose por categoría, ingresos por cuenta y sparklines de balance. Moneda (EUR/USD/GBP), idioma (es/en), año y una cookie de meta de ahorro viven en el shell.
Los datos van por Server Actions con Zod, no por rutas REST — salvo Auth.js. Neon Postgres más Drizzle: tablas de Auth.js, cuentas de pago, categorías, gastos, ingresos y un rate-limit (20 mutaciones por minuto y usuario). El dinero se filtra por el email de la sesión; las categorías son compartidas. Las agregaciones mezclan SQL (sum, groupBy año) con un módulo de cálculos puro. El CI corre lint, typecheck y build; Vitest cubre las cuentas y el formato; Playwright existe pero necesita cookie de sesión, así que no está en CI.
El stack es Next.js 16 (App Router) y React 19, TypeScript, Tailwind CSS, Drizzle sobre Neon, Auth.js, next-intl, Radix/shadcn, Recharts y Zod. Delante van CSP y middleware de auth. La demo abre en el login. El repo de GitHub es privado.
- Next.js
- React
- TypeScript
- Drizzle
- Neon
- Auth.js
- Tailwind CSS
- Recharts