Tu rastreador de gastos simple, visual y práctico.
Sumio es una aplicación web para gestionar tus gastos personales de forma clara y visual. Pensada para usuarios que quieren llevar control sin complicaciones, directamente desde el navegador.
- ➕ Agregar gastos con descripción, monto y categoría
- 🔁 Editar gastos (excepto la fecha)
- ❌ Eliminar gastos
- ✅ Marcar como "necesario" o "extra"
- 🔍 Filtrar por categoría o fecha
- 💰 Ver total general, por categoría o fecha
- 💾 Guardar datos en
localStoragepara persistencia
Este proyecto está disponible públicamente en las siguientes plataformas:
Ambas versiones se actualizan automáticamente con cada cambio en la rama main del repositorio.
- HTML5 + CSS3 (Mobile-first, modo oscuro, animaciones)
- JavaScript modular (ES Modules)
localStoragepara persistencia- Flexbox + Grid para diseño responsivo
📁 src/
├── main.js # Conecta HTML y JS, define eventos globales
├── ui.js # Renderiza lista, muestra mensajes, limpia inputs
├── storage.js # Guarda y recupera datos del localStorage
├── formValidation.js # Validaciones de campos
└── utils.js # Funciones puras: ID, fecha, botones, etc.
- Descripción: no vacía, sin símbolos, mínimo 2 letras
- Monto: número positivo, no NaN
- Categoría: debe ser válida
- Tipo: "necesario" o "extra", no por defecto
- Separación por módulos
- Funciones puras reutilizables
- Evita duplicación (DRY)
- Accesibilidad: aria-label, data-name en botones
- Precisión en fechas: filtrado local sin desfases de zona horaria
# Clona el repositorio
git clone https://github.com/andresmo23/sumio.git
# Entra al directorio
cd sumio
# Abre el archivo index.html en tu navegador- Agregar exportación de gastos a CSV
- Implementar gráficos con Chart.js
- Añadir autenticación para múltiples usuarios
Este proyecto está abierto a mejoras. Si deseas contribuir:
- Haz un fork
- Crea una rama (
git checkout -b feature/nueva-funcionalidad) - Haz tus cambios
- Abre un Pull Request
Por favor sigue el estilo modular y documenta tus funciones.
Este proyecto está bajo la licencia MIT. Puedes usarlo libremente con atribución.
Desarrollado por Gonzalo Montoya si te gustó, ¡dale una estrella ⭐ en GitHub!