Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
แอปจัดการรายรับ–รายจ่ายภาษาไทยแบบ mobile-first ช่วยบันทึกรายจ่ายจากสลิปธนาคาร เพิ่มรายการด้วยตนเอง ตั้งงบประมาณ และวิเคราะห์พฤติกรรมการใช้เงิน พร้อมมาสคอต "น้องออม" แมวไทยสีส้มที่คอยแนะนำและให้กำลังใจ This is a Next.js (App Router) + TypeScript + Tailwind CSS v4 prototype PWA. Open http://localhost:3000 — it redirects to /onboarding on first run, then /home once onboarding is completed (tracked in the mocked profile record).README 전문 보기 ↗
แอปจัดการรายรับ–รายจ่ายภาษาไทยแบบ mobile-first ช่วยบันทึกรายจ่ายจากสลิปธนาคาร เพิ่มรายการด้วยตนเอง ตั้งงบประมาณ และวิเคราะห์พฤติกรรมการใช้เงิน พร้อมมาสคอต "น้องออม" แมวไทยสีส้มที่คอยแนะนำและให้กำลังใจ
This is a Next.js (App Router) + TypeScript + Tailwind CSS v4 prototype PWA.
npm install
npm run dev
Open http://localhost:3000 — it redirects to /onboarding on first run, then
/home once onboarding is completed (tracked in the mocked profile record).
src/
app/ Route pages (Next.js App Router)
onboarding/ 3-slide onboarding
home/ Home Dashboard
history/ Transaction History (search/filter/swipe)
analytics/ Analytics & insights
budget/ Budget + Saving Goals
profile/ Profile & Privacy
add/expense|income|credit-card/ Manual entry forms
scan/ Slip capture/upload + OCR review flow
components/
ui/ Button, Card, ProgressBar, CategoryIcon, ScreenHeader, MascotTipCard
mascot/ Mascot.tsx — original "น้องออม" SVG character, 8 poses
illustrations/ Flat-vector/isometric scene illustrations
charts/ Recharts wrappers (donut, line, bar)
transactions/ TransactionForm, TransactionRow, AddTransactionSheet, SlipReviewSheet
nav/ AppShell, BottomNav
hooks/
useAppData.ts Central data hook: wires the database service into React state
lib/
types.ts Core data model (Transaction, Account, Budget, SavingGoal, UserProfile, ...)
categories.ts Category + bank definitions (labels, colors, icons)
mockData.ts ~25 seeded realistic Thai transactions, accounts, budget, goals
format.ts Thai Baht + Buddhist-era date formatting helpers
analytics.ts Derived-data calculations (sums, top categories/merchants, series)
insights.ts Rule-based Thai mascot coaching copy
services/
database.ts ALL storage reads/writes go through here (currently localStorage)
ocr.ts Mocked slip-scanning; swap internals for a real vision/OCR API
auth.ts Mocked session/PIN; swap internals for real auth
lib/services/database.ts to call
Supabase/Firebase instead of localStorage. Function signatures already
return Promises and match the shapes in lib/types.ts, so no consuming
component should need to change.lib/services/ocr.ts's scanSlip() to POST the captured
image to a real slip-reading/vision endpoint and map the response into a
SlipOcrResult.lib/services/auth.ts to call a real auth provider.Brand colors, type scale, radii, and motion are defined as CSS variables in
src/app/globals.css (prefixed --ag-*) and mirrored into Tailwind's
@theme inline block, so they're usable both as bg-ag-yellow-style
utility classes and as raw CSS variables.
components/mascot/Mascot.tsx — original character, no third-party assetscomponents/illustrations/Illustrations.tsx — original flat/isometric geometric scenesglobals.css
(slide-up on load, coin bounce, mascot blink, float, pulse ring), all
respecting prefers-reduced-motionlocalStorage and is seeded once per browser (see
ensureSeeded() in database.ts); clearing site data or using the
Profile screen's "ลบข้อมูลทั้งหมด" resets it.