ExpenseOwl
ExpenseOwl es un sistema de seguimiento de gastos auto-alojado extremadamente simple enfocado en la visualización rápida de gastos mensuales mediante gráficos de pastel y flujo de efectivo, utilizando Next.js para el frontend y Go para el backend.
Ficha actualizada 18 sept 2026, 21:10 · upstream 18 oct 2025, 14:33 · release v4.1
Qué es ExpenseOwl
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
ExpenseOwl es una aplicación de seguimiento de gastos auto-alojada diseñada para ser extremadamente simple y directa. A diferencia de otras herramientas de gestión financiera que ofrecen funciones complejas como presupuestación avanzada o múltiples cuentas, ExpenseOwl se centra únicamente en el registro rápido de transacciones (fecha, monto y categoría) y la visualización inmediata del gasto mensual mediante gráficos de pastel interactivos y un indicador de flujo de efectivo. La aplicación está construida con Next.js para el frontend y Go para el backend, ofreciendo una interfaz moderna con soporte para temas claros y oscuros, y es compatible con dispositivos móviles a través de su soporte PWA.
La arquitectura del proyecto permite dos tipos de almacenamiento de datos: JSON (por defecto) y PostgreSQL. El backend en Go implementa una interfaz de almacenamiento que facilita la adición de nuevos backends en el futuro. Para despliegue, se recomienda usar Docker con un volumen persistente montado en `/app/data`, aunque también es posible ejecutarlo como binario compilado directamente o mediante Kubernetes usando especificaciones comunitarias. La aplicación no incluye autenticación integrada, por lo que debe protegerse mediante un proxy inverso o herramientas de autenticación externas como Authelia en entornos de producción.
- Seguimiento mensual rápido de gastos personales en entornos homelab sin necesidad de configuración compleja
- Visualización interactiva de distribución de gastos por categoría mediante gráficos de pastel dinámicos
- Exportación e importación de datos CSV para migrar desde otras aplicaciones financieras o realizar copias de seguridad
- Uso como PWA en dispositivos móviles para consultar el estado financiero sin necesidad de instalar una aplicación nativa
- Integración con bases de datos PostgreSQL existentes para aprovechar infraestructura de almacenamiento ya desplegada
- Arquitectura simplificada enfocada exclusivamente en el seguimiento de gastos, evitando características innecesarias como presupuestación compleja
- Soporte multi-arquitectura Docker con imágenes optimizadas y compatibilidad con múltiples sistemas operativos
- Interfaz moderna con temas claros y oscuros que se adaptan automáticamente al sistema operativo del dispositivo
- Capacidad de exportar e importar datos CSV manteniendo la integridad de los registros mediante IDs únicos
- Implementación de interfaz de almacenamiento en Go que permite extensibilidad para nuevos backends sin modificar el código principal
- No incluye autenticación integrada, requiriendo protección externa mediante proxy inverso o herramientas como Authelia
- La fecha debe estar en formato YYYY-MM-DD; no soporta formatos MM/DD o DD/MM que puedan causar errores de importación
- El backend JSON almacena datos en archivos locales sin transacciones ACID, lo que puede ser menos robusto que PostgreSQL para grandes volúmenes
- Las transacciones recurrentes se añaden inmediatamente al backend, lo que puede afectar el rendimiento con grandes cantidades de registros futuros
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.
Recomendado usar Docker con volumen persistente montado en `/app/data`. Para entornos de producción, implementar autenticación externa mediante Authelia o similar y proteger con un proxy inverso como Nginx Proxy Manager. El puerto por defecto es 8080; para PostgreSQL, configurar las variables de entorno STORAGE_TYPE=postgres y credenciales adecuadas. Evitar exponer directamente sin autenticación en redes públicas.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
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.