Expense Tracker
El problema
Controlar gastos entre categorías, pagos recurrentes y más de una moneda es tedioso en una hoja de cálculo. Creé una aplicación full-stack para registrar gastos y ver en qué se va el dinero.
Decisiones clave
- Separé una API con Django REST Framework de un cliente en React, con autenticación JWT entre ambos.
- Guardé cada gasto en su moneda original, junto con una moneda preferida por usuario para la conversión en reportes.
- Mantuve los totales mensuales por categoría en su propia tabla de analíticas, actualizada al cambiar los gastos, para que el dashboard no recalcule a partir de cada gasto.
- Hice que las categorías fueran únicas por usuario con una restricción de base de datos, en lugar de depender de validaciones en la aplicación.
- Refactoricé el dashboard en componentes más pequeños y hooks personalizados conforme creció, lo que también resolvió un bucle de useEffect que generaba llamadas infinitas a la API.
El resultado
Una aplicación desplegada con cuentas seguras, gastos recurrentes, seguimiento en varias monedas, gráficos de gastos y exportación a CSV.