renovation-expenses
Herramienta open source de gestión presupuestaria para reformas y renovación del hogar. Datos 100% locales, sin nube ni cuentas. Soporta React + Node.js (Fastify), SQLite, Docker/Compose. Incluye backup automático diario, importación Excel, subidas de tickets y visualización móvil.
Ficha actualizada 28 sept 2026, 6:13 · upstream 28 sept 2026, 6:04 · release v1.0.1
Qué es renovation-expenses
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Renovation-expenses es una aplicación web diseñada para gestionar presupuestos detallados en proyectos de renovación del hogar o reformas. Permite estructurar el presupuesto por categorías (ej. hardwares, electrodomésticos, muebles) con niveles de detalle hasta el artículo individual, incluyendo especificaciones, marcas y precios unitarios. El sistema calcula automáticamente totales parciales y globales, comparándolos contra un objetivo presupuestario configurable.
La aplicación soporta dos flujos de registro de gastos: transacciones inmediatas para compras puntuales (con opción de marcar como completado) y órdenes con pagos fraccionados (depósito + saldo), permitiendo adjuntar fotos de tickets o facturas. Incluye importación desde archivos Excel (.xlsx) que reconoce automáticamente la estructura del presupuesto, y exportación a Excel/PDF para compartir con contratistas o guardar en contabilidad externa.
Técnicamente, el backend está construido con Fastify y better-sqlite3 (SQLite), mientras que el frontend utiliza React, Vite, TypeScript y Ant Design. La aplicación se despliega fácilmente mediante Docker Compose, con persistencia de datos en un volumen local y cron para copias de seguridad diarias automáticas. El diseño visual sigue una paleta cálida inspirada en madera y lino, con modo claro/oscuro.
- Controlar el presupuesto total de una reforma doméstica por categorías (ej. cocina, baño, salón) y alertar sobre desviaciones al objetivo.
- Gestionar pagos fraccionados de grandes compras (muebles, electrodomésticos) con registro de depósito, entregas parciales y saldo pendiente.
- Digitalizar tickets y facturas mediante subida de fotos asociadas a cada transacción para respaldo documental.
- Importar presupuestos previos desde Excel (.xlsx) manteniendo fórmulas y estructura para continuar la gestión en la app.
- Exportar reportes periódicos (pagos, por categoría, totales) en formato Excel o PDF para contabilidad externa o auditoría.
- Datos 100% locales: no requiere servidor externo ni cuenta de usuario; todo se almacena en SQLite en el host.
- Backup automático diario con cron integrado que empaqueta la base de datos y logs en archivos .tar.gz.
- Interfaz responsive móvil con layout adaptado para uso en tablets o smartphones sin instalar nada extra.
- Importación desde Excel (.xlsx) que detecta automáticamente categorías, proyectos y objetivos presupuestarios.
- Edición directa en tabla: al perder el foco se guarda automáticamente; soporte de arrastrar y soltar para reordenar filas.
- Tema visual cálido (madera/lino/tierra) con modo claro/oscuro configurable o siguiendo el sistema operativo.
- Base de datos SQLite: no escalable a múltiples usuarios simultáneos ni a volúmenes masivos de transacciones.
- Sin autenticación multiusuario: cada instalación es para un único usuario; no hay panel de administración compartido.
- Dependencia de Docker/Compose para despliegue sencillo; sin Dockerfile nativo alternativo (solo compose).
- No incluye API pública ni webhooks; toda la interacción es vía interfaz web local o backend directo.
- Tickets y fotos dependen del almacenamiento local; no hay sincronización entre dispositivos ni nube.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Requiere Docker y Docker Compose. Ejecutar 'docker compose up -d --build'. Datos persistentes en './data/' (SQLite, uploads, logs). Backup automático diario a las 03:00 en './backups/'. En Linux, si hay errores de permisos al escribir, ejecutar 'sudo chown -R 1000:1000 ./data'. Para acceso remoto desde NAS o dominio, copiar '.env.example' a '.env' y configurar 'EXTRA_ALLOWED_HOSTS'. Puerto por defecto: 5174. No requiere base de datos externa ni Redis.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.