Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A mobile-first progressive web app for managing a residential building's finances — tenant dues and payments, expenses, shared services (generator + water), building projects, and cash/reserve position. Runs in the browser on local storage, with optional Google Sheet sync and invoice-photo upload to Google Drive. Two roles: owner (full access) and tenant (read-only, PIN login).
node .\local-server.js
Then open http://localhost:4180. For phone testing on the same Wi-Fi, use the computer's IP instead of localhost. (The dev server also serves .pdf files inline, handy for checking generated statements.)
Deploy to a public HTTPS host (this project uses Vercel: vercel --prod from inside the project folder), open the URL on the phone, then:
Add to Home screen / Install app.Add to Home Screen.Open it from the home-screen icon afterwards.
On first launch the Setup wizard collects the language (English/Arabic), building name, owner password, collection mode, monthly budget / LBP rate, and tenants (with coefficient, breaker size, phone, and PIN). You can re-run it any time from Settings → App Setup → Setup wizard, and change the language any time in Settings → Building Details → Language.
Sync keeps a backup in a Google Sheet and lets multiple devices share data.
google-sheet-sync-only.gs, and Deploy → New deployment → Web app (Execute as: Me; Who has access: Anyone). Copy the /exec URL.SYNC_SECRET in Apps Script, and the same value in Settings → Sync secret. Requests without it are then rejected, so a leaked URL alone is useless.In Settings → Share access, copy the access code and send it to the tenant. On their phone they tap "Connect to a building" on the login screen and paste it — this configures sync and downloads the data, then they log in with their PIN.
On HTTPS, invoice photos upload through the Vercel function api/upload-invoice.js to a Drive folder (set the folder ID in Settings). Configure these Vercel environment variables (personal Gmail Drive):
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN, GOOGLE_DRIVE_FOLDER_IDWorkspace Shared Drives can instead use GOOGLE_SERVICE_ACCOUNT_EMAIL + GOOGLE_PRIVATE_KEY + GOOGLE_DRIVE_FOLDER_ID. Keep private keys and refresh tokens in Vercel only — never in app Settings.
data/seed.json is an intentionally empty factory-reset template (no real data or credentials).APP_VERSION (src/app.js, shown in Settings) and CACHE_NAME (sw.js).CLAUDE.md for architecture, state schema, and conventions.