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.
매출 근거부터 모의 청약·보유·정산까지, GIWA와 Dojang으로 확인하는 해커톤 데모.
Translation pending
FinanceTypeScript · JavaGitHub @UpDishOnlineOwner 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
UpDish: 음식점 매출배분 STO 해커톤 시연 · GIWA Sepolia · Dojang · Spring Boot · FastAPI · Next.js
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗시연 웹 · GitHub Organization · 공개 저장소 · 팀원은 이슈 #1부터
음식점 매출 증빙 → 모의 청약·배정 → 보유 → 정산·모의 지급을 연결하는 해커톤 데모입니다. Spring이 업무 원장을 계산하고 지갑은 SIWE 로그인과 GIWA 테스트 거래를 서명합니다. 실제 금전 수취·지급은 수행하지 않습니다.
지갑 선택은 Web3-Onboard 공통 팝업, 로그인 검증은 Spring의 SIWE를 사용합니다. 월 매출·전체 배분금·내 정산액 차트의 승인 기록은 최신 승인 버전만 표시합니다. 승인 내역이 없으면 별도 표시한 6개월 샘플 CSV 차트로 시연할 수 있습니다. 운영자는 상단 모드에서 가게·투자자 화면을 시연할 수 있으며 실제 지갑과 권한은 유지됩니다.
로그인 후 가게 목록 → 투자 내역 → 운영 투명성 → 역할별 관리 메뉴로 이동합니다. 고객 전용 화면과 쿠폰 발급은 제거했습니다. 운영 투명성은 POS 결제·PG 정산·은행 입금과 누락/불일치/환불 정정을 보여줍니다. 오른쪽 Agent는 가게 공개 근거와 본인의 승인 정산을 실제 모델로 설명합니다. 현재 시연 순서를 따르세요.
현재 상태는 개발 결과, 실제 지갑 사용 순서는 시연 안내, 클라우드 자원·중지 방법은 배포 안내를 기준으로 합니다. bootstrap/wallet 상태 문서는 과거 이력입니다.
공개 시연 웹을 배포했습니다. Vercel → EC2 → DB → 실제 GIWA 조회와 서명 로그인·개인 화면·로그아웃 12개 검사가 통과했습니다. 운영 지갑의 Dojang 발급 유효 상태는 실제 safe에서 확인했습니다. 계약/mint/registry/철회 사용자 서명 시연은 이슈 #2에 남겨 두었습니다.
| 영역 | 고정 기준 |
|---|---|
| Core | Spring Boot 4.1.2 · Java 25 · Gradle 9.8.2 |
| Agent | FastAPI 0.162.0 · Python 3.13 · openai 3.37.0 · uv.lock |
| Web | Next.js 16.4.3 · React 19.3.1 · TypeScript 5.9.3 · Tailwind 4.3.3 |
| Node | Node 24 · pnpm 10.23.0 · pnpm-lock.yaml |
| DB | PostgreSQL 18.6 · Flyway V1–V8 |
| Chain | GIWA Sepolia 91342 · Solidity 0.8.38 · Cancun · OpenZeppelin 5.6.1 |
| Wallet | wagmi 3.7.9 · viem 2.57.11 |
| Cloud | Vercel + 서울 EC2 t4g.medium ARM64 · Ubuntu 24.04 · private S3 |
사용자가 승인한 v0.2 버전을 유지합니다. 모든 패키지가 언제나 최신이라는 의미는 아닙니다.
Java 25, Node 24, pnpm, Python 3.13·uv, Docker Desktop이 필요합니다. 기존 env 파일이 있다면 복사를 생략합니다.
Copy-Item .env.example .env
Copy-Item apps/web/.env.example apps/web/.env.local
./scripts/start-local.ps1
이미 설치·빌드했다면 ./scripts/start-local.ps1 -SkipBuild로 시작합니다. 내부 Agent 토큰은 ignored .env.local에 생성하고 앱을 숨김 실행합니다. OpenAI 키 생성 동작은 없습니다. 준비된 뒤 http://127.0.0.1:3000을 엽니다. 로그는 .runtime/에 있습니다.
./scripts/stop-local.ps1 -StopDatabase
DB 데이터는 보존합니다. 직접 실행한 프로세스는 해당 터미널에서 종료합니다. 개발 서버와 production build가 같은 .next 폴더를 사용하므로 빌드 중에는 개발 서버를 중지하세요.
apps/web은 화면/BFF, services/core-api는 인증/업무/체인/S3, services/agent-api는 설명, contracts는 ERC-1155/registry, fixtures는 CSV, infra는 Compose/CloudFormation입니다.
업무 OpenAPI 원본은 scripts/api-contract.mjs이며 Web은 생성 타입을 사용합니다. Core /api/v1 기준이고 브라우저는 /api/workbench/*로 중계합니다. 쓰기에는 세션·CSRF·정확한 Origin이 필요합니다. 생성기는 공식 openapi-typescript API를 사용합니다.
pnpm generate:api
pnpm generate:demo
pnpm check:demo
pnpm check:web
pnpm check:chain
pnpm test:chain
pnpm build:web
./services/core-api/gradlew.bat -p services/core-api test bootJar
uv run --directory services/agent-api python -m unittest discover -s tests
forge test --root contracts
pnpm smoke:auth docs/evidence/siwe-smoke.json
Java에는 PostgreSQL이 필요합니다. smoke:auth는 자금 없는 임시 서명자로 로그인→실제 GIWA 음성 조회→logout을 검사하고 거래를 보내지 않습니다. smoke:business는 별도 Anvil 91342 + 별도 DB/Core 8081 전용입니다. 공식 GIWA에 실행하지 마세요. 로컬 업무 결과는 mock Dojang을 사용하며 사용자 GIWA 성공을 증명하지 않습니다.
남은 승인·실제 연결 확인을 완료 판정에 포함합니다.
시연 CSV 9개·기대 대조 결과를 준비했습니다. 공개 차트에서 다운로드하거나 운영자/가게 담당자가 매출관리에서 불러올 수 있습니다.
가게·투자·매출 시연 데이터와 역사 fixture를 별도로 준비했습니다. pnpm generate:ux-demo, pnpm check:ux-demo, pnpm smoke:ux-demo로 재현합니다. 로그인 → 가게 목록/선택/청약 → 투자 내역과 역할별 탭에 연결했습니다. 새 UX 동선과 실제/예시 데이터 구분을 확인하세요.
Demo 시연 동선: 청약·CSV·정산 작업을 팝업으로 나누고 Agent는 IDE처럼 오른쪽 사이드바에 배치했습니다. 현재 개편본은 로컬 검토 중이며 모델 답변은 키 미설정 상태입니다.