Cada compra con tarjeta y cada SINPE genera un correo del banco. Movo lo convierte en un movimiento con monto, comercio, fecha y categoría. Si corriges una categoría, la recuerda como regla.
Cómo funciona Movo
Pagas como siempre.
Haces un SINPE Móvil o pasas la tarjeta en la app de tu banco. Movo nunca mueve dinero.
El banco te escribe.
Segundos después llega el correo de notificación. Antes se quedaba perdido en la bandeja.
Movo lee el correo.
Con permiso de solo lectura, encuentra el monto, el comercio, la fecha y el tipo de movimiento.
Queda anotado.
El gasto entra en su categoría y el resumen del mes se actualiza. Sin teclear nada.
- Recibido
- Leído
- Extraído
- Registrado
Gmail con permiso de solo lectura y búsqueda limitada a remitentes bancarios. Los correos se leen y se guardan en tu teléfono; el servidor nunca los recibe. Borras todo desde Ajustes cuando quieras.
Privadopor diseño.
Se instala desde el navegador como app, sin tienda. Una base SQLite vive dentro del teléfono y calcula el resumen del mes con SQL real, aunque no tengas señal.
Funcionasin señal.
BCR, BN, BAC, Davivienda y Banco Popular. Colones, dólares, euros y córdobas, con el tipo de cambio del BCCR. Los SINPE entre tus propias cuentas no cuentan como gasto.
Cincobancos.
Hecha conpiezas abiertas.
El trabajo pesado ocurre en el teléfono. El servidor es mínimo: entrega la configuración, el tipo de cambio del BCCR y, si lo activas, guarda un respaldo de los movimientos ya extraídos.
- Los correos llegan hasta tu teléfono y ahí se quedan.
- Al servidor solo va tu token de Google y, si lo activas, el respaldo de los movimientos ya extraídos.
En tu teléfono
- React 18 y Vite
- SQLite en WebAssembly (sql.js)
- Gmail API, solo lectura
- PWA con service worker
- Exportación a Excel con ExcelJS
En el servidor
- Node.js con Express
- Redis para caché y límites
- MongoDB para el respaldo
- Tipo de cambio del BCCR
- Docker Compose y Caddy (HTTPS)
Cómo está ordenado
- Arquitectura por capas: dominio, casos de uso, infraestructura y presentación
- Pruebas de lector, SQLite, interfaz, API, Redis y MongoDB
- Integración continua en GitHub Actions
100 %de precisión en monto, comercio, fecha y tipo, en 2000 correos de prueba
0,5 mspara guardar cada correo leído en SQLite
< 1 mspara calcular el resumen del mes
Librey gratis.
Movo es de acceso libre: código abierto con licencia MIT, sin anuncios, sin suscripción y sin vender datos. Puedes leer cada línea, instalarlo en tu propio servidor y proponer la plantilla de tu banco.
git clone https://github.com/jbrown230/Movo.git
cd Movo
cp .env.example .env
docker compose up -d --build
Quiénes lo hicimos
Proyecto final del curso Tópicos Avanzados de Bases de Datos, Universidad Nacional de Costa Rica,
Grupo
1.
- Dylan Mejía Ruiz
- Jose Meza Álvarez
- Jordy Palacios Brown
- Yader Barahona Villarreal