Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Aplicación para el control y gestión de gastos personales
Translation pending
FinanceTypeScript · JavaScriptGitHub @elrichi31OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Sistema de gestión de gastos personales desarrollado por Bethalabs. Incluye presupuestos mensuales, gastos recurrentes automatizados y análisis estadístico.Read the full README ↗
Sistema de gestión de gastos personales desarrollado por Bethalabs. Incluye presupuestos mensuales, gastos recurrentes automatizados y análisis estadístico.
# Clonar el repositorio
git clone https://github.com/elrichi31/control-gastos.git
cd control-gastos
# Instalar dependencias
npm install
# Configurar variables de entorno
cp .env.example .env.local
# Completar .env.local (cada variable indica si es obligatoria u opcional)
# Ejecutar servidor de desarrollo
npm run dev
Abre http://localhost:3000 en tu navegador.
supabase/migrations/ en el SQL Editoranon/authenticated (ver docs/CODE_REVIEW.md)Todas están en .env.example, agrupadas por bloque (Supabase, NextAuth, Google, sesiones, cron, MCP, correo Yahoo, Jev) e indicando si son obligatorias. Las mínimas para levantar la app: NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY, NEXTAUTH_URL y NEXTAUTH_SECRET; CRON_SECRET para los cron.
El único cron de recurrentes requiere también SUPABASE_SERVICE_ROLE_KEY privada y aplicar la migración SQL en Supabase. Guardar una regla no genera un gasto inmediatamente. Ver modelo, compatibilidad y activación.
Servidor autenticado para consultar y gestionar gastos manuales propios desde ChatGPT. Configuración OAuth, migración y guía de conexión en docs/MCP.md.
Un Schedule diario de Dokploy (5 5 * * * UTC = 00:05 en Ecuador, shell sh) dentro del contenedor genera los gastos recurrentes vencidos:
wget -qO- --header="Authorization: Bearer $CRON_SECRET" http://127.0.0.1:3000/api/cron/process-recurring-expenses
Otro Schedule cada 30 min (*/30 * * * *, shell sh) trae los movimientos bancarios del correo de las últimas 2 semanas:
wget -qO- --header="Authorization: Bearer $CRON_SECRET" http://127.0.0.1:3000/api/cron/sync-email
La imagen es node:20-alpine: trae wget pero no curl. La última corrida de cada cron se ve en el sidebar (Automatizaciones).
src/
├── app/ # App Router de Next.js
│ ├── api/ # API Routes
│ ├── auth/ # Páginas de autenticación
│ ├── detalle-gastos/ # Vista detallada de gastos
│ ├── estadisticas/ # Análisis y gráficos
│ ├── form/ # Formulario de gastos
│ ├── gastos-recurrentes/ # Gestión de gastos recurrentes
│ └── presupuesto/ # Gestión de presupuestos
├── components/ # Componentes React
│ ├── ui/ # shadcn/ui y piezas genéricas
│ ├── layout/ # Sidebar, TopBar, providers y tema
│ ├── gastos/ # Formulario, lista y edición de gastos
│ ├── gastos-recurrentes/ # Formulario, lista y modales de recurrentes
│ ├── dashboard/ # Widgets del dashboard
│ ├── detalle-gastos/ # Componentes de vista detallada
│ ├── presupuesto/ # Componentes de presupuestos
│ ├── stats/ # Componentes de estadísticas
│ ├── conexiones/ # Sesiones y conexiones MCP
│ └── landing/ # Página pública
├── hooks/ # Custom React hooks
├── lib/ # Utilidades y configuración
│ ├── auth/ # Configuración de autenticación
│ ├── database/ # Cliente service-role de Supabase (solo servidor)
│ └── constants/ # Constantes globales
├── services/ # Capa de servicios/API
└── types/ # Definiciones de TypeScript
gasto con flag is_recurrent: truegeneradoEste proyecto es de código abierto bajo licencia MIT.
# Ejecutar en modo desarrollo
npm run dev
# Build de producción
npm run build
# Servidor de producción
npm run start
# Pruebas y tipos
npm test
npm run typecheck
# Linter
npm run lint
Desarrollado con ❤️ usando Next.js y Supabase