Una aplicación moderna y completa de gestión financiera personal desarrollada con Next.js 14, TypeScript y SQLite, con interfaz profesional y experiencia de usuario optimizada.
- Dashboard Interactivo: Vista unificada con métricas en tiempo real y gráficos dinámicos
- Transacciones Inteligentes: Registro avanzado con categorización automática y análisis
- Presupuestos Dinámicos: Control de gastos con alertas proactivas y proyecciones
- Metas Financieras: Seguimiento de objetivos con timeline y progreso visual
- Cuentas Multi-banco: Gestión centralizada de todas las cuentas financieras
- Pagos Automatizados: Sistema completo de pagos con integración MercadoPago
- Interfaz Moderna: Diseño limpio y profesional con Tailwind CSS
- Tema Claro/Oscuro: Soporte completo con transiciones suaves
- Responsive Design: Optimizado para desktop, tablet y móvil
- Loading States Realistas: Carga inteligente que simula operaciones reales
- Animaciones Fluidas: Transiciones CSS profesionales y efectos visuales
- Confirmaciones Interactivas: Modales animados para todas las acciones
- Interfaz en Español: Completamente localizada para Argentina
- Moneda Local (ARS): Formateo correcto de pesos argentinos
- Datos Realistas: Bancos, comercios y ubicaciones argentinas
- Contexto Local: Categorías y servicios adaptados al mercado argentino
- Hidratación Segura: Sin errores de SSR/CSR con React 18
- TypeScript Completo: Tipado estricto en toda la aplicación
- Base de Datos Optimizada: SQLite con consultas eficientes
- API RESTful: Endpoints completos con validación robusta
- PWA Ready: Instalable como aplicación nativa
- Next.js 14 - Framework React con App Router
- React 18 - Biblioteca de interfaz de usuario
- TypeScript 5.0 - Tipado estático
- Tailwind CSS - Framework de estilos utilitarios
- Radix UI - Componentes accesibles y personalizables
- Lucide Icons - Iconografía moderna y consistente
- SQLite - Base de datos embebida
- better-sqlite3 - Cliente optimizado para Node.js
- API Routes - Endpoints RESTful nativos de Next.js
- React Hook Form - Manejo avanzado de formularios
- Zod - Validación de esquemas TypeScript-first
- date-fns - Manipulación de fechas
- Recharts - Gráficos y visualizaciones
- Node.js 18+
- npm o yarn
- Git
-
Clonar el repositorio
git clone https://github.com/tu-usuario/mis-gastos.git cd mis-gastos -
Instalar dependencias
npm install # o yarn install -
Inicializar base de datos
npm run init-db
-
Cargar datos de prueba (opcional)
npm run generate-test-data
-
Ejecutar en desarrollo
npm run dev
-
Abrir en navegador
http://localhost:3000
- Métricas en Tiempo Real: Ingresos, gastos, balance y tendencias
- Gráficos Interactivos: Análisis visual de gastos por categoría y tiempo
- Notificaciones Proactivas: Alertas de presupuesto y recordatorios
- Acciones Rápidas: Shortcuts para operaciones frecuentes
- Estados de Confirmación: Feedback visual para todas las acciones
- Registro Avanzado: Formularios inteligentes con validación en tiempo real
- Categorización Automática: Sugerencias basadas en historial
- Filtros Dinámicos: Búsqueda por fecha, categoría, monto y tipo
- Vista Lista/Cuadrícula: Múltiples formas de visualizar datos
- Exportación de Datos: PDF, CSV y Excel
- Analytics Avanzado: Estadísticas y tendencias detalladas
- Presupuestos Flexibles: Por categoría, período y moneda
- Alertas Inteligentes: Notificaciones al 80%, 100% y sobregiro
- Proyecciones: Estimaciones basadas en patrones de gasto
- Comparativas: Análisis mes a mes y año a año
- Recomendaciones: Sugerencias de optimización
- Objetivos Personalizables: Ahorro, inversión, compras importantes
- Progreso Visual: Barras de progreso y timeline interactivo
- Estrategias de Ahorro: Calculadora de cuotas y plazos
- Motivación Gamificada: Logros y milestones
- Proyecciones Automáticas: Fecha estimada de cumplimiento
- Integración MercadoPago: Pagos online seguros
- Pagos Recurrentes: Servicios y suscripciones automáticas
- Recordatorios: Notificaciones de vencimientos
- Historial Completo: Tracking de todos los pagos
- Múltiples Métodos: Tarjeta, transferencia, efectivo
- Transiciones Suaves: Cambio instantáneo sin parpadeos
- Persistencia: Recuerda preferencia del usuario
- Optimización: Diseñado para ambos temas desde el inicio
- Mobile First: Optimizado primero para móviles
- Breakpoints Inteligentes: Adaptación fluida en todos los tamaños
- Touch Friendly: Controles táctiles optimizados
- Carga Realista: Simula operaciones financieras reales
- Progreso Visual: Barras de progreso animadas
- Mensajes Contextuales: Información específica por página
- Duraciones Variables: Tiempo adaptado a la complejidad
- CSS Profesional: Efectos suaves y naturales
- Performance Optimizado: 60fps en todas las animaciones
- Feedback Visual: Confirmaciones y estados de hover
GET /api/accounts // Listar cuentas
POST /api/accounts // Crear cuenta
PUT /api/accounts/:id // Actualizar cuenta
DELETE /api/accounts/:id // Eliminar cuentaGET /api/transactions // Listar con filtros avanzados
POST /api/transactions // Crear transacción
PUT /api/transactions/:id // Actualizar transacción
DELETE /api/transactions/:id // Eliminar transacciónGET /api/budgets // Listar presupuestos
POST /api/budgets // Crear presupuesto
PUT /api/budgets/:id // Actualizar presupuesto
DELETE /api/budgets/:id // Eliminar presupuestoGET /api/goals // Listar metas
POST /api/goals // Crear meta
PUT /api/goals/:id // Actualizar meta
DELETE /api/goals/:id // Eliminar metaGET /api/dashboard // Métricas consolidadas-- Cuentas financieras
CREATE TABLE accounts (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
type TEXT NOT NULL,
balance REAL DEFAULT 0,
currency TEXT DEFAULT 'ARS',
bank TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Categorías de transacciones
CREATE TABLE categories (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
type TEXT NOT NULL,
color TEXT,
icon TEXT,
parent_id TEXT
);
-- Transacciones
CREATE TABLE transactions (
id TEXT PRIMARY KEY,
amount REAL NOT NULL,
description TEXT,
category_id TEXT,
account_id TEXT,
type TEXT NOT NULL,
date DATETIME DEFAULT CURRENT_TIMESTAMP,
location TEXT,
tags TEXT
);
-- Presupuestos
CREATE TABLE budgets (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
amount REAL NOT NULL,
category_id TEXT,
period TEXT DEFAULT 'monthly',
currency TEXT DEFAULT 'ARS',
status TEXT DEFAULT 'active'
);
-- Metas financieras
CREATE TABLE goals (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
target_amount REAL NOT NULL,
current_amount REAL DEFAULT 0,
target_date DATE,
priority TEXT DEFAULT 'medium',
currency TEXT DEFAULT 'ARS'
);# Desarrollo
npm run dev # Servidor de desarrollo
npm run build # Construir para producción
npm run start # Ejecutar en producción
npm run lint # Análisis de código
# Base de Datos
npm run init-db # Inicializar base de datos
npm run generate-test-data # Generar datos de prueba
npm run migrate-data # Migrar datos adicionales
# Utilidades
npm run audit # Auditar dependencias
npm run audit-fix # Reparar vulnerabilidadesmis-gastos/
├── app/ # App Router de Next.js
│ ├── (pages)/ # Páginas principales
│ ├── api/ # API Routes
│ ├── globals.css # Estilos globales
│ └── layout.tsx # Layout principal
├── components/ # Componentes React
│ ├── dashboard/ # Componentes del dashboard
│ ├── layout/ # Layout y navegación
│ ├── providers/ # Context providers
│ ├── transactions/ # Gestión de transacciones
│ └── ui/ # Componentes UI base
├── hooks/ # Custom hooks
├── lib/ # Utilidades y configuración
├── public/ # Archivos estáticos
└── docs/ # Documentación
- Zod Schemas: Validación tipada en frontend y backend
- Sanitización: Limpieza de inputs maliciosos
- Validación de Negocio: Reglas financieras específicas
- Error Boundaries: Captura de errores en React
- Logging Centralizado: Registro de errores para debugging
- Fallbacks Graceful: Experiencia degradada cuando hay errores
- Code Splitting: Carga lazy de componentes no críticos
- Consultas Optimizadas: Índices en base de datos
- Caching Inteligente: Cache de datos frecuentes
- Bundle Analysis: Optimización del tamaño del bundle
- Lighthouse Score: 95+ en todas las categorías
- Core Web Vitals: Optimizado para métricas de Google
- Hydration Time: < 1 segundo en conexiones rápidas
- Exportación Avanzada: Reportes PDF personalizados
- Importación de Bancos: Conectores para bancos argentinos
- Análisis IA: Sugerencias inteligentes de ahorro
- Compartir Presupuestos: Colaboración familiar
- Backup en la Nube: Sincronización automática
- App Móvil Nativa: React Native para iOS/Android
- Widgets Desktop: Información rápida en escritorio
- Integración Crypto: Seguimiento de criptomonedas
- Inversiones: Tracking de portfolio de inversión
¡Las contribuciones son bienvenidas! Por favor:
- Fork el repositorio
- Crear una rama feature (
git checkout -b feature/nueva-caracteristica) - Commit los cambios (
git commit -am 'Añadir nueva característica') - Push a la rama (
git push origin feature/nueva-caracteristica) - Crear un Pull Request
- Seguir el estilo de código existente
- Añadir tests para nuevas funcionalidades
- Actualizar documentación cuando sea necesario
- Usar commits semánticos
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
Desarrollado con ❤️ para la comunidad argentina de desarrollo.
- Next.js Team - Por el excelente framework
- Vercel - Por la plataforma de deployment
- Radix UI - Por los componentes accesibles
- Tailwind CSS - Por el sistema de diseño
¿Te gusta el proyecto? ⭐ ¡Dale una estrella en GitHub!
¿Encontraste un bug? 🐛 Reporta un issue
¿Quieres contribuir? 🚀 Lee la guía de contribución