← Volver a proyectos

WebApp · Finanzas personales

CasaCuenta

Aplicación web para registrar, organizar y consultar gastos personales y familiares mediante autenticación, categorías, filtros, resúmenes y control de acceso con Supabase.

Tipo Aplicación web
Estado Terminado
Rol Desarrollo frontend y backend con Supabase
Objetivo Gestionar gastos familiares de forma sencilla

Problema

En muchos hogares, el registro de gastos se realiza de forma manual o dispersa, lo que dificulta conocer cuánto se gasta, en qué categorías se concentra el consumo y cómo se distribuyen los gastos dentro de una familia.

La necesidad principal era construir una herramienta sencilla, accesible y sin costo de infraestructura, que permitiera registrar gastos y consultarlos de manera ordenada.

Solución

CasaCuenta fue desarrollada como una aplicación web que permite a un usuario autenticarse, registrar gastos, clasificarlos por categoría, filtrarlos y visualizar resúmenes básicos. La solución usa Supabase como backend para manejar autenticación, base de datos y reglas de seguridad mediante Row Level Security.

El proyecto fue desplegado en Vercel, manteniendo una arquitectura simple y adecuada para un proyecto personal en producción.

Funcionalidades principales

  • Registro e inicio de sesión con Supabase Auth.
  • Creación, edición y eliminación de gastos.
  • Clasificación de gastos por categoría y método de pago.
  • Filtros por fecha, categoría, método de pago y descripción.
  • Resumen de gastos del mes, gastos del día y categoría principal.
  • Separación entre información personal y familiar.
  • Protección de datos mediante políticas RLS.

Stack técnico

ReactViteSupabase AuthSupabase PostgreSQLRow Level SecurityVercelGitHub

Retos técnicos

  • Diseñar una estructura de base de datos que permitiera manejar gastos personales y familiares sin mezclar información entre usuarios.
  • Configurar políticas de Row Level Security para evitar que un usuario acceda a información que no le corresponde.
  • Mantener el frontend separado de los datos sensibles, usando las claves públicas de Supabase de forma correcta.
  • Organizar los componentes del dashboard para que el sistema sea fácil de mantener y ampliar.

Aprendizajes

Este proyecto me permitió entender mejor cómo pasar de una aplicación frontend a una webapp conectada a una base de datos real, con usuarios, reglas de acceso, operaciones CRUD y despliegue en producción.

También reforcé la importancia de proteger la información desde la base de datos, no solo desde la interfaz.