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.
Controle financeiro pessoal de Vitor e Jaqueline.
Translation pending
FinanceTypeScript · PLpgSQLGitHub @vitorh-costa93OnlineOwner 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.
MeuDinheiro — Controle financeiro (Vitor & Jaqueline) Aplicativo web de controle financeiro pessoal do casal, com cadastro de lançamentos (manual, áudio, foto, texto e PDF via IA), análise mensal e simulação de compras/viagens. Conta única compartilhada, sem login individual. Stack: Next.js (App Router) + TypeScript + Tailwind CSS + Supabase (Postgres + Storage) + OpenAI.Read the full README ↗
Aplicativo web de controle financeiro pessoal do casal, com cadastro de lançamentos (manual, áudio, foto, texto e PDF via IA), análise mensal e simulação de compras/viagens. Conta única compartilhada, sem login individual.
Stack: Next.js (App Router) + TypeScript + Tailwind CSS + Supabase (Postgres + Storage) + OpenAI.
Todo o schema do app vive isolado dentro do schema Postgres meudinheiro
(não public) — assim ele pode conviver no mesmo projeto Supabase do
iRacing Analytics sem colidir com as tabelas dele (que ficam em public
ou em outro schema próprio — nenhuma tabela é compartilhada entre os dois).
Use o projeto Supabase do iRacing Analytics (reaproveitado — sem contar como um 3º projeto no plano free).
No SQL Editor, rode os arquivos de supabase/migrations/ na ordem:
0001_init.sql — cria o schema meudinheiro, tabelas, índices,
triggers, RLS e os grants necessários.0002_storage.sql — bucket privado meudinheiro-uploads para áudio/foto/PDF.0003_salary_and_simulation_image.sql — salário variável (tabela
salary_entries) + foto de IA nas simulações (coluna simulations.image_url
e bucket público meudinheiro-simulation-images).(Se preferir, instale o Supabase CLI
e rode supabase db push apontando para o projeto.)
Importante: vá em Settings → API → Data API → Exposed schemas e
adicione meudinheiro à lista (por padrão só public fica exposto à API).
Sem esse passo, o app recebe erro de "schema not found" nas consultas.
Em Settings → API, copie Project URL e a chave service_role.
Copie .env.example para .env.local e preencha:
SUPABASE_URL=
SUPABASE_SERVICE_ROLE_KEY=
OPENAI_API_KEY=
A
service_rolekey só é usada no backend (server actions/route handlers) — nunca é enviada ao navegador. SemOPENAI_API_KEY, o app funciona normalmente para cadastro manual, análise e simulação; apenas a extração por IA (áudio/foto/texto/PDF) e os cards de insight ficam desabilitados com uma mensagem explicativa.
npm install
npm run dev
Abra http://localhost:3000 — a rota / redireciona para /cadastro.
Este app precisa de um projeto Vercel próprio, separado do projeto do iRacing Analytics (mesmo reaproveitando o projeto Supabase, o deploy na Vercel é independente — importar este repositório como um novo projeto, nunca dentro/por cima do projeto existente do iRacing Analytics).
app-controle-gastos) como um novo projeto.SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, OPENAI_API_KEY).src/app/(app)/* — páginas (Cadastro, Análise, Simulação, Configurações).src/components/* — UI por domínio (cadastro, análise, simulação, ingest, layout, ui).src/lib/domain/* — regras financeiras puras (sobra, saldo acumulado,
recorrência, parcelamento, combinação de simulações) — sem IA, sem banco.src/lib/data/* — server actions (Supabase, sempre com service_role).src/lib/ai/* — extração por IA (OpenAI) e geração de insights.supabase/migrations/* — schema versionado.Valores monetários trafegam sempre como centavos inteiros no
TypeScript e como NUMERIC(14,2) no Postgres — nunca float.