Aplicacion web para registrar ingresos y gastos personales en Google Sheets, con una interfaz simple y una entrada rapida asistida por IA para convertir texto libre en registros estructurados.
- Frontend: React 19 + TypeScript + Vite
- Backend: Node.js + Express + TypeScript (ejecutado con tsx)
- Integraciones: Google OAuth 2.0, Google Sheets API, Google Drive API, Gemini API
- UI: Tailwind CSS, Motion, Lucide React
- Cliente SPA en React para autenticacion, captura de movimientos y visualizacion de ultimos registros.
- Servidor Express en server.ts.
- El servidor gestiona OAuth con Google.
- El servidor expone endpoints para listar hojas, consultar ultimos movimientos y agregar filas.
- El servidor sirve Vite en modo desarrollo y archivos estaticos en produccion.
- Persistencia en Google Sheets (hoja Registros), sin base de datos local.
- El usuario inicia sesion con Google.
- Selecciona una hoja de calculo.
- Registra un ingreso o gasto (manual o con entrada IA).
- El backend agrega el movimiento en la hoja Registros.
- El frontend consulta y muestra los ultimos movimientos.
Crear un archivo .env en la raiz con:
- GEMINI_API_KEY
- APP_URL
- GOOGLE_CLIENT_ID
- GOOGLE_CLIENT_SECRET
Requisitos: Node.js 18+
- Instalar dependencias: npm install
- Configurar variables de entorno en .env.
- Iniciar en desarrollo: npm run dev
- Abrir en el navegador: http://localhost:3000
- npm run dev: inicia servidor Express con Vite en modo middleware.
- npm run build: genera el build del frontend.
- npm run preview: previsualiza el build de Vite.
- npm run lint: validacion de tipos con TypeScript.
- server.ts: API y autenticacion con Google.
- src/App.tsx: interfaz principal y logica de interaccion.
- src/main.tsx: punto de entrada de React.
- index.html: plantilla HTML.