Control de Gastos
Proyecto Personal
App multiplataforma en Flutter para control y gestión de gastos personales: registro por categorías, presupuestos con alertas automáticas, gráficos interactivos y exportación de reportes a PDF y Excel.

El Problema
Quería profundizar en Flutter más allá de un proyecto académico, construyendo por mi cuenta una app con lógica de negocio real: manejo de presupuestos con alertas, análisis visual de gastos y generación de reportes exportables, aplicando correctamente el patrón BLoC desde cero.
La Solución
Desarrollé una app de finanzas personales con arquitectura BLoC, separando completamente la lógica de negocio (Cubit) de la UI. Implementé tres repositorios independientes para gastos, categorías y presupuestos, persistencia local con SharedPreferences, gráficos interactivos con FL Chart y exportación profesional a PDF y Excel con guardado directo en la carpeta de Descargas del dispositivo.
Proceso de Desarrollo
Diseño de arquitectura en capas: cubit, models, repositories, services, views y widgets
Modelado de datos: Gasto, Categoria y Presupuesto con serialización JSON (toJson/fromJson)
Implementación del patrón BLoC con estado inmutable (copyWith) y flujo de datos unidireccional
Desarrollo del CRUD de gastos con validación de formularios en tiempo real y DatePicker
Sistema de categorías personalizadas con íconos y colores dinámicos
Control de presupuestos con alertas automáticas al 80% del límite y al superarlo
Integración de FL Chart para gráficos de barras interactivos con tooltips
Servicios de exportación: PDF profesional con tablas y totales, y Excel (.xlsx)
Gestión de permisos y apertura inmediata de archivos generados con open_filex
Resultados
Aplicación funcional en 6 plataformas con arquitectura BLoC robusta, exportación real de reportes y sistema de alertas de presupuesto automatizado
CRUD completo de gastos con categorización automática por colores e íconos
Sistema de presupuestos con dos niveles de alerta (80% y exceso)
Gráficos de barras interactivos con tooltips por categoría
Exportación a PDF y Excel con guardado directo en Descargas y apertura inmediata
Persistencia offline sin backend, con repositorios independientes por dominio
Compatibilidad real en web, Android, iOS, Windows, macOS y Linux
Galería

