Aplicación web para gestionar gastos de Toshl con edición inline y filtros avanzados.
- ✅ Tabla editable con autosave
- ✅ Autocomplete para categorías y tags
- ✅ Filtros por fecha, categoría y tags (múltiples tags soportadas)
- ✅ Tags como pills dentro del input (click para remover)
- ✅ Gráficos de pastel para gastos por categoría y tags
- ✅ Edición masiva (batch editing) de categoría y tags
- ✅ Selección múltiple con checkboxes
- ✅ Total de gastos visible
- ✅ Configuración de API Token mediante modal
- ✅ Fecha por defecto: mes actual
- ✅ Botón de refrescar datos
- ✅ Notificaciones toast (sin alerts)
- ✅ Logs del servidor para debugging
-
Accede a la aplicación en: https://4000--019ad455-1dab-760d-bd91-f80a267c3b9d.us-east-1-01.gitpod.dev
-
Haz clic en el icono de engranaje ⚙️ para configurar tu API Token
-
Obtén tu API Token en: https://toshl.com/developer/apps/
-
Guarda y conecta
-
Edita cualquier campo haciendo clic en él
-
Los cambios se guardan automáticamente
- Fecha: Selecciona rango de fechas (por defecto: mes actual)
- Categoría: Escribe para buscar con autocomplete
- Tags: Escribe para buscar, presiona Enter o selecciona del autocomplete
- Las tags seleccionadas aparecen como pills dentro del input
- Click en una pill para removerla
- Soporta múltiples tags (filtro OR)
- Gasto por Categoría: Muestra las top 10 categorías con mayor gasto
- Gasto por Tags: Muestra las top 10 tags con mayor gasto
- Los gráficos se actualizan automáticamente al filtrar
- Selecciona múltiples gastos usando los checkboxes
- Aparecerá una barra azul mostrando cuántos gastos has seleccionado
- Click en "Editar selección"
- Cambia la categoría y/o agrega tags
- Click en "Aplicar cambios"
- Todos los gastos seleccionados se actualizarán simultáneamente
npm install
npm startEl servidor se ejecutará en el puerto 4000.
tail -f server.logLos logs muestran todas las peticiones a la API de Toshl y ayudan a debuggear errores.
La aplicación maneja automáticamente entries que son parte de series recurrentes:
- Agrega el parámetro
?update=onepara actualizar solo el entry específico - Envía todos los campos requeridos por la API de Toshl (amount, currency, date, desc, account, category, modified)
- Preserva el campo
modifiedoriginal para evitar errores de validación
El servidor devuelve información detallada de errores de la API de Toshl:
- Código de estado HTTP
- Mensaje de error completo
- Campos con errores específicos
- URL y método de la petición que falló