Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
Snapshot-based household net-worth tracker — enter your balances once a month, no transaction itemising. Self-hostable, multi-currency, broad Indonesian-instrument coverage.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Track your household's net worth without itemising a single transaction.
Each month you enter your balances; Balances tracks your net worth over time.
Live demo · Self-hosting · The domain model
Most personal-finance apps make you record every coffee. Balances doesn't. It's built on a single ritual: at the end of each month, you read the balances off your statements and type them in. From those snapshots it computes your household net worth over time — no bank sync, no transaction feed, no categorising.
That one design choice is deliberate (ADR-0001). Itemised cash-flow tracking (Mint / YNAB style) is a non-feature. If you've bounced off budgeting apps because the daily upkeep never stuck, this is the opposite bargain: ten minutes a month, and you still get the one number that matters.
docker-compose.yml, a published image, Postgres, done. See
Self-hosting below.The repo-root docker-compose.yml is the operator stack (ADR-0037):
it pulls the published image ghcr.io/kerti/balances:<tag>, runs Postgres, applies migrations once, and
serves the app on a single origin — no build step.
cp .env.example .env # edit: pin BALANCES_TAG, set APP_URL + Google OAuth client
docker compose up # migrations apply once, then login at http://localhost:8080
Upgrade by bumping BALANCES_TAG and running docker compose pull && docker compose up -d. The full
operator walkthrough — three TLS topologies, the Google OAuth client, the upgrade contract, and database
backups — is in SELF-HOSTING.md.
Licensed under AGPL-3.0 (ADR-0042).
Prerequisites: Docker (OrbStack recommended on macOS), Go 1.26.4+, Node 24+ (.nvmrc pins the version).
make setup # first clone only: git hooks + frontend deps + seed .env
make up # starts Postgres + Mailpit (docker-compose.dev.yml)
make backend-migrate-up # applies pending migrations
make backend-run # http://localhost:8080 (terminal 1)
make frontend-dev # http://localhost:5173 (terminal 2)
Mailpit's web UI is at http://localhost:8025 for inspecting dev emails. The Vite dev server proxies
/healthz and /api/* to the backend at :8080. make help lists every target.
Going deeper? docs/architecture.md is how the pieces fit;
CONTRIBUTING.md is the workflow; CONTEXT.md is the domain glossary;
the decisions behind the design live in docs/adr/; and HANDOFF.md tracks current
project state (written for AI agents, but the fastest read on where things stand).
Coverage note: the frontend codecov number is scoped to
src/lib/**andsrc/components/positionList/**(frontend/vitest.config.ts), not the whole frontend — most components and hooks aren't in the denominator yet.