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.
Gestisci le tue finanze personali: transazioni, categorie e pagamenti ricorrenti.
Translation pending
FinanceTypeScript · PLpgSQLGitHub @kauax2000OnlineOwner 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
Fianance app for couples
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Finance App - Controle de Finanças Pessoais Um aplicativo web completo para controle de finanças pessoais, desenvolvido com Next.js, Supabase e shadcn/ui. • Autenticação: Login/registro com email/senha e Google OAuth • Dashboard: Visão geral com gráficos de receitas vs despesas • Carteiras: Múltiplas contas bancárias/wallets • Transações: Registro de receitas e despesas • Categorias: Categorias customizáveis • Design Responsivo: Funciona em desktop e mobile • Frontend: Next.js 14+ (App Router) • UI: shadcn/ui + Tailwind CSS • Backend: Supabase (PostgreSQL + Auth) • Gráficos: RechartsRead the full README ↗
Um aplicativo web completo para controle de finanças pessoais, desenvolvido com Next.js, Supabase e shadcn/ui.
cd finance-app
cp .env.example .env.local
Edite o arquivo .env.local e preencha com suas credenciais do Supabase:
NEXT_PUBLIC_SUPABASE_URL=https://seu-projeto.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=sua-chave-anon-aqui
⚠️ Importante: Nunca commite o arquivo .env.local no Git!
O schema inteiro vive em supabase/migrations/ (baseline consolidado +
migrações incrementais). Com o projeto linkado no CLI:
npx supabase link
npx supabase db push
Para desenvolvimento local: npx supabase start (constrói o banco do zero a
partir das migrações). Nunca rode SQL manual no SQL Editor para mudar schema —
ver supabase/README.md.
No Supabase Dashboard:
avatarsO schema SQL já cria as políticas necessárias para upload de avatares.
npm install
npm run dev
Abra http://localhost:3000 no seu navegador.
src/
├── app/
│ ├── (auth)/ # login, register, forgot-password, reset-password
│ ├── (app)/ # Telas autenticadas: dashboard, transactions, categories,
│ │ # bills, credit-cards, subscriptions, members, invites,
│ │ # account (sessions, activity), settings, plans
│ ├── [...slug]/ # Rota desconhecida → 404
│ ├── designsystem/ # Catálogo vivo do design system (/designsystem)
│ └── page.tsx # Redirecionamento
├── components/
│ ├── ui/ # Componentes do design system
│ ├── layout/ # Casca do app (barras, navegação)
│ └── <domínio>/ # account, bills, categories, credit-cards, dashboard,
│ # members, push, pwa, security, settings, subscriptions,
│ # transactions, workspace, icons
├── config/ # Navegação (desktop e mobile)
├── hooks/ # Custom hooks
├── lib/ # Regras de negócio, Supabase, formatadores (com *.test.ts ao lado)
├── templates/ # Templates de página
└── types/ # Tipos do banco (gerados) e de rotas
supabase/ # Migrações, Edge Functions, testes pgTAP, relatórios SQL
e2e/ # Testes Playwright
scripts/ # Scripts de build/teste (ícones PWA, docs-map do DS, pré-checagens)
docs/ # Runbooks, histórico do design system e arquivo
AGENTS.md — regras do projeto (formulários, design system, componentes). Leia antes de escrever código.docs/README.md — índice de runbooks, histórico do design system e arquivo.supabase/README.md — regras de migração, Edge Functions e docs de deploy.O app pode ser instalado na tela inicial (Safari → Compartilhar → Adicionar à Tela de Início) e funciona em modo standalone.
npm run generate:pwa-icons # gera public/icons/* e public/favicon.ico a partir de public/logo.svg
npm run build # webpack + Serwist (gera public/sw.js)
Em desenvolvimento, o service worker fica desligado por padrão. Para testar localmente:
NEXT_PUBLIC_PWA_ENABLED=true npm run build && npm start
npm run test:unit # inclui mutation-gateway offline
npx playwright test e2e/pwa.smoke.spec.ts
A migração supabase/migrations/20260517140000_offline_client_id.sql adiciona client_id para sincronização idempotente.
Notificações push usam Web Push com chaves VAPID e Edge Functions (push-subscribe, push-unsubscribe, deliverNotification nos produtores).
# Cliente (Vercel + .env.local)
NEXT_PUBLIC_VAPID_PUBLIC_KEY=<chave pública>
# Supabase secrets (nunca no repositório)
VAPID_PUBLIC_KEY=<mesma chave pública>
VAPID_PRIVATE_KEY=<chave privada>
VAPID_SUBJECT=mailto:[email protected]
Gerar par de chaves:
npx web-push generate-vapid-keys
Aplicar migração:
supabase db push
Deploy das functions (inclui push):
npm run supabase:deploy:functions
notify_push → sem push; central in-app continua se habilitada.Quando outro membro adiciona uma despesa manual em uma carteira compartilhada, os demais membros recebem notificação in-app e push (se habilitados).
Deploy: configure o Database Webhook em public.transactions (INSERT) → Edge Function notify-transaction-created. Detalhes em supabase/NOTIFICATION_DEPLOYMENT.md.
Smoke test: User B adiciona despesa na carteira compartilhada → User A vê central + push no iPhone (PWA instalada).
O projeto implementa:
# Cliente (públicas)
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
# Servidor (NUNCA exponha no frontend)
SUPABASE_SERVICE_ROLE_KEY=... # Apenas para APIs server-side
O projeto usa shadcn/ui com o preset b1a1d8m2s. Para adicionar novos componentes:
npx shadcn@latest add button
Verifique se o arquivo .env.local existe e contém as variáveis corretas.
Certifique-se de que todas as migrações foram aplicadas (npx supabase db push).
Verifique se o bucket avatars foi criado no Storage e está público.
MIT