Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Hlavica Dřevo — evidence pohledávek a upomínek Interní webová aplikace pro evidenci pouze těch vydaných faktur, které mají odběratelé zaplatit společnosti R. Hlavica s.r.o. Aplikace hlídá splatnost, plánuje e-mailové upomínky, eviduje jejich průběh a poskytuje přehledy pohledávek.README 전문 보기 ↗
Interní webová aplikace pro evidenci pouze těch vydaných faktur, které mají odběratelé zaplatit společnosti R. Hlavica s.r.o. Aplikace hlídá splatnost, plánuje e-mailové upomínky, eviduje jejich průběh a poskytuje přehledy pohledávek.
viewer, accounting, admin,OCR běží lokálně v serverové funkci pomocí Tesseract.js. Textová PDF se čtou přímo, skenovaná PDF a obrázky se zpracují lokálním česko-anglickým modelem. Dokument ani jeho obsah se neposílá do externí AI služby a OCR nevyžaduje žádný API klíč. Když rozpoznání selže, dokument zůstane bezpečně uložený a účetní může údaje doplnit ručně.
Lokální aplikace vyžaduje nakonfigurovaný Supabase projekt a platný firemní účet:
corepack pnpm install --frozen-lockfile
corepack pnpm dev
Globální instalace pnpm není potřeba. Pokud shell hlásí command not found: pnpm, používejte příkazy přes corepack pnpm, který respektuje verzi uvedenou v package.json.
Aplikace poběží na http://localhost:3000.
supabase/schema.sql.
U již existující databáze místo nového schématu postupně spusťte dosud nepoužité soubory ze složky supabase/migrations.
Podrobný návrh tabulek, vztahů a oprávnění je v supabase/README.md.insert into organizations (
name, ico, dic, registered_address, operating_address, data_box_id,
phone, email, bank_account_czk, bank_account_eur
) values (
'R. Hlavica s.r.o.', '26296039', 'CZ26296039',
'Palackého třída 192/60, Brno-Královo Pole, 612 00',
'Podhradní Lhota 193, Rajnochovice, 768 71',
'87qv26b', '+420 573 500 700', '[email protected]',
'6844160247/0100', '94-2613370257/0100'
) returning id;
insert into organization_members (organization_id, email, role)
values ('UUID_ORGANIZACE', 'EMAIL_PRVNIHO_UZIVATELE', 'admin');
insert into reminder_policies (organization_id, name, is_default)
values ('UUID_ORGANIZACE', 'Výchozí upomínky', true);
E-mail v organization_members ukládejte malými písmeny. Při prvním přihlášení se pozvánka bezpečně sváže s ID uživatele Supabase Auth.
[email protected].https://VAŠE-DOMÉNA/api/webhooks/resend pro události email.sent, email.delivered, email.delivery_delayed, email.bounced, email.complained a email.failed.RESEND_WEBHOOK_SECRET.corepack pnpm install --frozen-lockfile; český a anglický OCR model je součástí balíčků projektu.Zkopírujte .env.example do .env.local a vyplňte:
NEXT_PUBLIC_SUPABASE_URL=https://PROJECT.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
SUPABASE_SERVICE_ROLE_KEY=...
RESEND_API_KEY=...
REMINDER_EMAIL_FROM=Splatno <[email protected]>
AUTH_EMAIL_FROM=Splatno <[email protected]>
AUTH_EMAIL_DELIVERY_ENABLED=true
RESEND_WEBHOOK_SECRET=...
EMAIL_MFA_SECRET=nahodny-tajny-retezec-alespon-32-znaku
APP_BASE_URL=https://VAŠE-DOMÉNA
CRON_SECRET=dlouhy-nahodny-tajny-retezec
SUPABASE_SERVICE_ROLE_KEY, RESEND_API_KEY, RESEND_WEBHOOK_SECRET ani CRON_SECRET nikdy nevkládejte do proměnné začínající NEXT_PUBLIC_ a necommitujte .env.local.
Site URL,https://VAŠE-DOMÉNA/auth/callback mezi povolené redirect URL,organization_members,@hlavica.cz, které zároveň existují v organization_members,organization_members,V režimech development a test aplikace kvůli lokálnímu testování přijme i platný e-mail mimo @hlavica.cz. Produkční sestavení omezení vždy znovu vynutí; uživatel však i při vývoji musí mít odpovídající záznam v organization_members.
Aplikace vždy vyžaduje skutečně nakonfigurovaný Supabase projekt (proměnné NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY) — bez něj selže i lokální vývoj (fail-closed), žádný demo režim s ukázkovými daty neexistuje.
[email protected], určený pro testování a opravy aplikace; konfigurovatelný seznam výjimek aplikace nepoužívá.vercel.json volá každé ráno v 06:00 UTC trasu /api/cron/check-due. Vercel odešle CRON_SECRET jako Bearer token. Před ostrým provozem ověřte, že zvolený tarif podporuje požadovanou četnost a délku běhu.
Prvotní upload dokumentu nejde přes Vercel Function: prohlížeč jej přenese podepsaným jednorázovým tokenem přímo do soukromého Supabase Storage a API následně ověří jeho skutečný obsah. Chráněná OCR route ověřený dokument serverově načte a zpracuje lokálně pomocí PDF.js a Tesseract.js.
npm run typecheck
npm test
npm run build
Poté v testovací organizaci proveďte celý scénář: přihlášení, OCR z PDF i fotografie, kontrola předvyplněných údajů, vytvoření faktury, změna splatnosti, testovací odeslání na interní adresu, ověření doručovacího webhooku, import bankovní platby se shodným VS, kontrola úhrady a historie a export reportu.
server-only.service_role.Před přepnutím DNS a zahájením ostrého provozu:
supabase/README.md,organization_members nejsou adresy mimo @hlavica.cz,npm run typecheck, npm test a npm run build v čistém CI prostředí.