Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
App de controle financeiro pessoal em português, com foco em construção de patrimônio e controle do gasto com cartões. PWA instalável, mobile-first.README 전문 보기 ↗
App de controle financeiro pessoal em português, com foco em construção de patrimônio e controle do gasto com cartões. PWA instalável, mobile-first.
Next.js 15 (App Router) · React 19 · TypeScript · Tailwind CSS v4 · Supabase (Auth + Postgres + Storage) · Google Gemini · Recharts · Motion
Pré-requisitos: Node.js 20+ e um projeto Supabase.
npm install
cp .env.example .env.local # preencha com as suas credenciais
npm run dev
O app sobe em http://localhost:3000.
| Variável | Onde obter |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase → Project Settings → API |
NEXT_PUBLIC_SUPABASE_ANON_KEY | idem |
GEMINI_API_KEY | Google AI Studio → API Keys (apenas servidor) |
O app falha na inicialização se as duas primeiras faltarem — de propósito, para não conectar no projeto errado em silêncio.
Os scripts em supabase/ devem ser rodados na ordem de data,
pelo SQL Editor do painel Supabase. Todos são idempotentes.
| Script | O que faz |
|---|---|
2026-08-16-critical-security-fixes.sql | RLS por dono em todas as tabelas, trigger anti-escalada de admin |
2026-09-29-perfil-financeiro.sql | Colunas do perfil financeiro, criação automática de profiles, semente de renda |
Toda tabela nova precisa de RLS por
user_iddesde o início. Filtro feito só no frontend não protege nada: a REST API do Supabase é acessível diretamente com a anon key.
npm run dev # desenvolvimento
npm run build # build de produção
npm run lint # ESLint
Não rode
npm run buildcom onpm run devativo — os dois escrevem em.nexte o cache corrompe. Se acontecer:rm -rf .nexte reinicie.
Aplicação client-side: os componentes falam direto com o Supabase, e as rotas
em app/api/ existem apenas para manter a chave do Gemini fora do navegador.
Arquivos centrais:
app/page.tsx — dashboardlib/profile.ts — perfil financeiro, estágios e limites; é
onde vive a regra de negócio, sem I/O e testávellib/api-auth.ts — validação de JWT das rotas de IACONTEXTO-IA.md — schema completo e convenções do projeto