Skip to content

v1.0.0 — Primera release estable

Latest

Choose a tag to compare

@Acedpol Acedpol released this 17 Aug 22:03
· 1 commit to main since this release

Primera release estable de expense-tracker-ui, la SPA de React que consume expense-api por HTTP.

Stack

  • React 19 + TypeScript + Vite
  • Tailwind CSS 4
  • React Router (rutas protegidas, layout anidado)
  • TanStack Query (estado de servidor, cache, invalidación tras mutaciones)
  • React Hook Form + Zod (validación en cliente)
  • Cliente API tipado de extremo a extremo: los tipos se generan con openapi-typescript a partir del /openapi.json real del backend
  • Vitest + React Testing Library + MSW

Funcionalidad

  • Registro, login y logout reales contra expense-api
  • Rutas protegidas + manejador global de sesión caducada (401 → logout automático → redirect a login)
  • CRUD completo de Categorías (crear, listar, editar, eliminar)
  • CRUD completo de Gastos (crear, listar, editar, eliminar, paginación, selector de categoría)
  • 10 tests automatizados, CI en verde (lint + typecheck + test + build)

Bugs reales resueltos por el camino

  • Backend: ExpenseUpdate.date solo aceptaba null (bug de shadowing de nombres en Python) — detectado por el generador de tipos de este mismo frontend, arreglado en expense-api.
  • Frontend: token JWT caducado a mitad de sesión rompía la UI en vez de redirigir a login.
  • CI: los tests fallaban de forma intermitente en GitHub Actions por una condición de carrera en el localStorage nativo de Node al correr en paralelo — sustituido por un polyfill en memoria aislado por proceso.

Pendiente

  • Deploy real (Vercel/Netlify) — aplazado, necesita cuenta propia
  • Filtros/búsqueda en la lista de gastos
  • Gráficos de gasto por categoría