Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기APLICATIVO PWA PARA CONTROLE DE GASTOS E LUCRO COM CATIRAS
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
PWA pessoal para gestão de compra e venda de qualquer tipo de produto. Cada item carrega seu próprio custo de compra e despesas extras (frete, embalagem...) e o app calcula o custo total, lucro, margem, ROI e preço mínimo automaticamente. Funciona online e offline. • Vite + React + TypeScript (strict) • Tailwind CSS v4 • vite-plugin-pwa (Workbox) — service worker + manifest • Supabase (Postgres + Auth + Row Level Security) • Recharts • Deploy: Vercel Pré-requisitos: Node 20+. Nunca comite .env.local — ele já está no .gitignore.README 전문 보기 ↗
PWA pessoal para gestão de compra e venda de qualquer tipo de produto. Cada item carrega seu próprio custo de compra e despesas extras (frete, embalagem...) e o app calcula o custo total, lucro, margem, ROI e preço mínimo automaticamente. Funciona online e offline.
/src
/components componentes de UI reutilizáveis
/pages telas do app
/lib cliente Supabase + fórmulas de cálculo centralizadas
/hooks hooks de dados (React Query-like, via Supabase)
/types tipos TS (schema do banco, domínio)
/supabase
/migrations SQL versionado do schema
public/
ícones do PWA (192x192, 512x512, maskable)
Pré-requisitos: Node 20+.
npm install
cp .env.example .env.local
# preencha .env.local com as chaves do seu projeto Supabase
npm run dev
| Variável | Onde encontrar |
|---|---|
VITE_SUPABASE_URL | Painel Supabase → Project Settings → API |
VITE_SUPABASE_ANON_KEY | Painel Supabase → Project Settings → API (chave anon/public) |
Nunca comite .env.local — ele já está no .gitignore.
O .env.production é versionado de propósito: contém só a anon key
pública do Supabase (não é segredo — é protegida por RLS e o Vite já a
embute em qualquer bundle de produção de qualquer forma). Isso deixa o
deploy no Vercel funcionar sem precisar configurar variáveis de ambiente
no painel.
As migrations SQL ficam em supabase/migrations. Aplique-as no seu projeto Supabase (SQL Editor ou Supabase CLI) na ordem numérica dos arquivos.
Não existe "lote de compra" nem "despesa geral" separados. Cada item
é autossuficiente: guarda o próprio custo de compra (custo_compra), uma
lista livre de despesas extras (custos_extras, ex.: frete, embalagem) e,
opcionalmente, quantos dias você planeja ficar com ele antes de vender
(dias_planejados). O custo total, lucro, margem, ROI e preço mínimo são
todos derivados desses campos em src/lib/calculations.ts — nunca
duplicados em componente.
Quando dias_planejados não é definido, o alerta de "item parado" cai no
prazo padrão configurado em Ajustes.
O app funciona com a conexão caída. Leituras vêm do cache do service
worker (Workbox, NetworkFirst pras chamadas ao Supabase). Duas ações de
escrita continuam funcionando offline — cadastrar um item novo e
registrar uma venda — guardadas numa fila no IndexedDB
(src/lib/offlineOutbox.ts) e reenviadas automaticamente assim que a
conexão volta. O selo no cabeçalho do app mostra "Offline" ou "Enviando
N" enquanto há pendências. As demais ações (cancelar venda, marcar
perdido, excluir) exigem conexão.
npm run dev # servidor de desenvolvimento
npm run build # build de produção (tsc -b && vite build)
npm run preview # servir o build localmente
npm run lint # oxlint
npm run test # vitest
Projeto catira-control-app no Vercel, conectado via GitHub App ao
repositório — todo push na branch abre/atualiza uma preview deployment, e
merge em main promove pra produção automaticamente.
.env.production está versionado no repo (é a anon key pública do
Supabase, protegida por RLS), então o build sai funcional sem configurar
nada manualmente no painel do Vercel.
O projeto Supabase usado (rurqtctrbzxppeickltz) também hospeda outro
app do mesmo usuário (gestão de fazenda/gado — tabelas animais,
pastos, vacinas_* etc.). As tabelas do Catira Control convivem no
mesmo schema public, sem conflito de nomes, e o RLS
(auth.uid() = user_id) isola os dados por usuário normalmente. Se
preferir um projeto Supabase dedicado só para este app, é só criar um
novo projeto e reaplicar as migrations de supabase/migrations nele.
Cada pessoa cria sua própria conta direto na tela de login (aba "Criar conta"), via Supabase Auth. Dependendo da configuração do projeto Supabase (Authentication → Providers → Email → Confirm email), pode ser exigida confirmação por e-mail antes do primeiro acesso.