Beancount.io
Plain-text, double-entry accounting you can version with Git, automate with scripts and audit line by line—with AI for data entry. Free tier, no credit card.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Aplicación web de finanzas personales para el taller con adultos de una comunidad de Yumbo, Colombia.
Funciona desde el celular, sin login ni servidor: todos los datos se guardan en el localStorage del navegador (clave cuentas-claras-v1).
Proyecto de Servicio Social Unadista – UNAD · Yonni Fernando Grueso Caicedo · Ingeniería de Sistemas
output: "export" → sitio estático en out/)Requiere Node.js 20.9 o superior.
npm install # instala las dependencias
npm run dev # abre http://localhost:3000
Otros comandos:
npm run build # genera el sitio estático en la carpeta out/
npm start # sirve la carpeta out/ para probar la versión final
npm run lint # revisa el código
node scripts/generar-iconos.mjs # vuelve a generar los íconos PNG
Para probar en el celular mientras desarrollas: conecta el celular al mismo Wi-Fi, corre npm run dev -- -H 0.0.0.0
y abre http://IP-DE-TU-PC:3000 en el celular.
npx create-next-app@latest cuentas-claras --ts --tailwind --app --src-dir --eslint --import-alias "@/*"
cd cuentas-claras
npm install recharts
…y luego copiar las carpetas src/, public/ y scripts/ y el archivo next.config.ts de este repositorio.
git add .
git commit -m "Cuentas Claras"
git branch -M main
git remote add origin https://github.com/TU-USUARIO/cuentas-claras.git
git push -u origin main
https://cuentas-claras.vercel.app. Cada git push publica una versión nueva.Alternativa sin GitHub: npx vercel desde la carpeta del proyecto y seguir las preguntas.
Como el sitio es 100 % estático, también puedes subir la carpeta out/ a Netlify, GitHub Pages o cualquier hosting.
Abre la dirección en Chrome → menú ⋮ → Agregar a la pantalla principal. En iPhone (Safari): botón Compartir → Agregar a inicio.
src/
app/ Rutas: / (Inicio), /registrar, /movimientos, /deudas, /metas, /ayuda
layout.tsx Encabezado, barra inferior, pie de página y proveedores
globals.css Tema de colores y estilos base (Tailwind)
components/
vistas/ Contenido interactivo de cada página ("use client")
FormularioMovimiento.tsx, Modal.tsx, ModalConfirmar.tsx, MenuAjustes.tsx, …
context/
DatosContext.tsx Estado global (useReducer) + lectura/guardado automático en localStorage
ToastContext.tsx Mensajes de confirmación
lib/
tipos.ts Tipos Movimiento, Deuda, Meta
almacenamiento.ts Lectura/escritura segura de localStorage (try/catch)
calculos.ts Resúmenes, gastos hormiga, fondo de emergencia, bola de nieve / avalancha, consejos
categorias.ts Categorías con ícono y color
formato.ts Pesos colombianos ($1.250.000) y fechas
csv.ts Exportación "Descargar mis datos"
datosEjemplo.ts Datos para la demostración del taller
public/
manifest.json, icons/
La primera vez la app muestra una pantalla de bienvenida que pide el nombre (sin contraseña). El nombre se guarda
en perfil.nombre, junto con los datos, se muestra en el encabezado («Hola, María 👋») y se cambia en
⚙️ Ajustes → Cambiar mi nombre. «Borrar todos los datos» también borra el nombre y vuelve a la bienvenida.
El saldo de cada deuda se calcula como saldo inicial − abonos. Cada abono es un gasto fijo en «Deudas y créditos»; si borras ese gasto en Movimientos, el saldo de la deuda vuelve a subir.
Si compilas (npm run build) en Windows, Next.js 16 guarda mal algunos archivos de prefetch
(__next.*.txt) y verás errores 404 en la consola al probar out/. La app funciona igual, y el problema no ocurre
en Vercel, que compila en Linux.