Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
전자 노트로 매출채무 관리: 고객·공급업체 채무, WhatsApp 전표, 사진으로 기존 노트 옮기기, 재고·보고서
Электронная тетрадь долгов для магазина: долги клиентов и поставщиков, накладные в WhatsApp, перенос старой тетради по фото, склад и отчёты. Работает в браузере на телефоне и компьютере.
금융TypeScript · PLpgSQLGitHub @Souverigh온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기GRID Project
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Долги магазина: справочники, ручное проведение прихода/продажи/оплаты с фото,
сторно, заявки клиента и ссылка без входа. Внутреннее кодовое имя репозитория
и npm-пакета — ongoy; в интерфейсе продукт называется Depter.
Фото/upload, ADRE (Gemini) и проверка результата — сделано, см. docs/implementation.md. Ещё не готово: второй AI-провайдер как резерв, customer/product matching и управление aliases из UI, cloud deployment и end-to-end Auth.
Данные бухгалтерских регистров не вводятся через SQL вручную для реального пилота. Тесты заполняют только одноразовую локальную БД.
Требуется Node.js 24 LTS, npm. Lockfile включён.
npm ci
cp .env.example .env.local
supabase/migrations через SQL Editor в этом отдельном проекте, строго по имени: сначала foundation, затем ERP commands. Первая миграция рассчитана на пустой public schema; вторую не запускайте отдельно от foundation.NEXT_PUBLIC_SUPABASE_URL и NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY в .env.local. Secret/service-role key приложению не нужен.npm run dev. Откройте http://localhost:3000, войдите, создайте магазин, добавьте товары и клиентов.npm test
npm run typecheck
npm run build
npm run test:smoke
npm test запускает реальный PostgreSQL engine PGlite с минимальным auth.uid shim. Это проверяет миграцию, права ролей, RLS, FK, views и ограничения. Это не проверка облачных Supabase Auth и PostgREST.
npm run test:smoke после сборки запускает отдельный production сервер без Supabase credentials: проверяет редиректы защищённых маршрутов, экран настройки, запрет /preview даже при включённом флаге и noindex.
После настройки реальных credentials выполните повторную сборку. NEXT_PUBLIC переменные должны быть заданы ДО build.
docs/preview.html — статический снимок главной страницы из серверного рендера. Откройте файл в браузере. Цифры нулевые, кнопки не проводят операций.
Локально можно запустить ONGOY_PREVIEW=1 npm run dev и открыть /preview (для Windows PowerShell: $env:ONGOY_PREVIEW='1'; npm run dev). Этот маршрут не позволяет войти, читать или сохранять данные. В production возвращает 404.
GEMINI_API_KEY, GEMINI_MODEL (только там, не в файлах репозитория). Node 24.src/lib/context.ts: request-scoped user/organization context, без service-role.src/lib/supabase/server.ts, src/proxy.ts: SSR cookies + session refresh.src/app/(workspace): закрытые страницы.src/app/(workspace)/[kind]/actions.ts: whitelist справочников, валидация и запись.src/app/(workspace)/money/actions.ts, src/components/operation-form.tsx: проверка ввода и формы ручных операций.src/lib/validation.ts: серверная валидация десятичных строк и справочников.supabase/migrations: схема, RLS, read models и атомарные RPC commit_purchase, commit_sale, commit_payment.tests: проверка изоляции, сумм, прав и duplicate constraints.docs/pilot-plan.md: исходный план, сохранён без изменений.Для нескольких организаций пока выбирается первая по времени членства; переключатель не реализован. Создание ограничено тремя организациями на пользователя для пилота. Все участники пилота имеют одинаковые возможности справочников. ERP RPC блокируют организацию на время проведения, проверяют членство и остаток, сохраняют регистры и аудит одной транзакцией. Идемпотентный повтор с тем же ключом и теми же данными возвращает прежний результат; повтор ключа с другими данными отклоняется. Облачный Auth пока не подключён.
Цели скорости из исходного плана остаются acceptance criteria. Они ещё не измерены на облаке и реальных документах.