Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기HLPL-Expense-Dashboard
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Cash expense control for Hivefy Lifestyle Pvt Ltd. Replaces the three separate
FY26-27 workbooks (warehouse, head office, founder) with one system where each team
records only its own spend, and the founder sees everything consolidated.
The three workbooks could not be added up. The importer surfaced three concrete problems:README 전문 보기 ↗Cash expense control for Hivefy Lifestyle Pvt Ltd. Replaces the three separate FY26-27 workbooks (warehouse, head office, founder) with one system where each team records only its own spend, and the founder sees everything consolidated.
The three workbooks could not be added up. The importer surfaced three concrete problems:
Pani Puri-Maulik,
cake, Chair and Krinesh Sir as categories, with 15 of 58 rows in "Other".| Role | Sees | Does |
|---|---|---|
| Warehouse manager | Warehouse expenses only | Records spend, declares cash in hand |
| Accounts manager | Head-office expenses only | Records spend, declares cash in hand |
| Founder | Everything | Records own spend, moves cash, sets budgets, analyses |
Teams cannot see each other's entries or the founder's, and cannot reach the founder's
screens. The scope is applied server-side on every query (expenseScope in
src/lib/auth.ts) — it is not a UI filter, so editing the URL does not defeat it.
Cash flows in a closed loop, which is what makes month-end add up:
Cash received (supplier refund, billing recovery, collection)
│
▼
Founder's chest ──── issues float ────► WH float ──► WH expenses
│ └► HO float ──► HO expenses
├──── founder's own expenses
└──── director drawings (out of the business, never an expense)
Float balance = issued + locally received − spent. Each team periodically declares the cash it is physically holding; the gap against the book is the control number.
Three taps and a number: type the amount, tap a category chip, tap save. Categories are ordered by how often that user has picked them in the last 90 days, so the common ones sit first. Date defaults to today, payment mode to cash, everything else is optional.
Two things happen automatically at entry:
requiresBill demand a bill number above their threshold.One taxonomy for all three teams, 25 heads in 9 groups. Each head carries:
its Tally ledger name (so month-end exports import straight into Tally),
which teams may book to it, a monthly budget, and bill requirements.
The founder edits all of this at /categories.
Old sheet labels are mapped through CategoryAlias, so migrated rows land on the right
head — Pani Puri-Maulik, cake and Staff Food & Tea all become Staff Food & Tea.
Unclassified (re-tag) holds migrated rows whose original label carried no meaning
(mostly "Office Operations" and "Other"). It cannot be picked for new entries, and the
dashboard nags until the backlog is cleared.
It installs to the home screen as a Progressive Web App and keeps working without signal — an expense recorded in a dead spot is held on the phone and sent when the connection returns, with a device-generated id making the write idempotent so a retry cannot double-record it. Nothing from the network is cached, so a stale float balance is never shown; the offline page says so plainly instead.
An optional 6pm reminder tells each person what they have recorded that day and what cash they are still holding. Setup is in docs/DEPLOY.md.
Export for Tally on the dashboard produces a CSV with one row per voucher, carrying
the ledger name, cost centre, narration, bill number and a capex flag.
npm install
cp .env.example .env # set DATABASE_URL and AUTH_SECRET
npx prisma migrate deploy
npm run seed # category master + three users
npm run dev
Seeded logins (password Change@123 — change it immediately):
[email protected] (founder), [email protected], [email protected].
Put founder.xlsx, wh.xlsx and ho.xlsx in data/, then:
npm run import
It is idempotent — it clears previously imported rows (those carrying a legacyRef)
and re-imports, so it can be re-run after adjusting category mappings. Entries made in
the app are never touched.
The import loaded 692 expenses and 92 cash transactions covering FY24-25 and FY26-27. It reconciles exactly to the source books: warehouse ₹2,14,581 spent, head office ₹30,428 spent with ₹13,984 in hand — both matching the team sheets to the rupee. The warehouse shows ₹50,205 against the sheet's ₹20,205, the ₹30,000 difference being the unacknowledged 01-Sep hand-over.
Step-by-step Neon + Vercel instructions are in docs/DEPLOY.md, including the two connection strings Neon needs and the common failure messages.
Any Node host works. The app needs DATABASE_URL (pooled), DIRECT_URL (unpooled, for
migrations) and AUTH_SECRET.
There is no user admin screen yet; both jobs are one command:
npm run set-password -- [email protected] 'new-password'
npm run add-user -- "Ravi Patel" [email protected] WH 'their-password'
To revoke access, untick active on the user in npx prisma studio — they are signed
out on their next request and their past entries keep their author.