Dugout Value
투구·타격·예측 연구와 선수·계약·트레이드 가치를 비교하는 도구 제공
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A 1-vs-1 fitness challenge proof-of-concept. Two friends commit to a healthy activity for a set number of days. The loser buys the winner's best reward; the winner buys the loser's lowest reward. Everyone gets something, and better progress unlocks the better prize.
Built with Vite + React + Tailwind CSS on the frontend, Hono + Drizzle + Turso on the backend, and Reap Agentic Payments (sandbox) for checkout.
• Live site: https://fitstake-eta.vercel.app
• Production branch: claude/loving-euler-z1g9y3
• Full project context: see docs/HANDOFF.md
• Agent quick-start: see AGENTS.mdREADME 전문 보기 ↗A 1-vs-1 fitness challenge proof-of-concept. Two friends commit to a healthy activity for a set number of days. The loser buys the winner's best reward; the winner buys the loser's lowest reward. Everyone gets something, and better progress unlocks the better prize.
Built with Vite + React + Tailwind CSS on the frontend, Hono + Drizzle + Turso on the backend, and Reap Agentic Payments (sandbox) for checkout.
claude/loving-euler-z1g9y3docs/HANDOFF.mdAGENTS.mdThis is a sandbox-only hackathon POC: fitness data is simulated and no real money moves.
Requires Node.js ≥ 22.9 (Node 24 recommended).
npm install
# Copy the example env file and fill it in
cp .env.example .env
# For isolated local development, use a file-based DB:
# TURSO_DATABASE_URL=file:local.db
npm run db:migrate
npm run dev
Run tests and type checks:
npm test
npm run typecheck
A full build (also runs tsc):
npm run build
| Layer | Technology |
|---|---|
| Frontend | React 19, Vite, Tailwind CSS 4, @fontsource-variable/inter |
| API | Hono (TypeScript), Vercel serverless function via api/index.ts |
| Database | Turso (libSQL) with Drizzle ORM |
| AI | OpenAI API for reward suggestions (optional; has fallback) |
| Payments | Reap Agentic Payments sandbox, plus a local simulator when no key is set |
| Auth | Email-code login with HttpOnly sessions; optional demo mode |
| Gmail SMTP (nodemailer) or Resend |
claude/loving-euler-z1g9y3.| Variable | Required? | Notes |
|---|---|---|
TURSO_DATABASE_URL | Yes | libsql://… or file:local.db |
TURSO_AUTH_TOKEN | Yes | Token for the Turso database |
AUTH_SECRET | For real auth | 32+ random chars |
GMAIL_USER + GMAIL_APP_PASSWORD | One email provider needed for real login | Or use RESEND_API_KEY + EMAIL_FROM |
OPENAI_API_KEY | Optional | Enables AI reward explanations |
REAP_API_KEY | For live payments | Without it, the local simulator runs |
AUTH_DEV_CODE | Demo only | true = instant insecure sign-in. Currently on in production for demos; remove before real users. |
Build command (already configured in vercel.json):
npm run db:migrate && vite build
Migrations run on every deploy and are idempotent. The API is served from api/index.ts with GET/POST exports.
Important: keep env vars server-side only. Never use a VITE_ prefix for secrets, and never commit .env files.
api/index.ts Vercel entry point (named GET/POST exports)
server/app.ts Routes, validation, same-origin checks
server/service.ts Business logic for challenges, rewards, settlement, lobby
server/auth.ts Email-code login and demo mode
server/session.ts Cookie helpers, requireUser, same-origin middleware
server/reap.ts Live Reap adapter + local simulator
server/ai.ts OpenAI reward recommender + fallback
server/merchants.ts Supported catalogue items
server/scoring.ts Deterministic scoring and tie-breaks
server/db/ Drizzle schema, client, migrations
shared/ activities.ts, pricing.ts
src/App.tsx React SPA with hash routing
src/api.ts Typed API client
src/legal.tsx Privacy, Terms, and Data Policy pages
src/index.css Tailwind + design tokens
drizzle/ SQL migrations
scripts/check-reap.mjs Read-only Reap connectivity check
tests/ Vitest tests
AUTH_DEV_CODE=true in production lets anyone sign in as any email with no code. Turn this off and configure real email before accepting real users.src/legal.tsx is a Singapore PDPA-oriented draft with placeholders. It must be reviewed by counsel and filled in before launch.COMPLETED flow has not been run end to end.AGENTS.md — conventions, commands, and gotchas for anyone working on the code.docs/HANDOFF.md — full project history, architecture, payments status, risks, and demo script.docs/PRODUCT_ASSESSMENT.md — product recommendation, validation notes, and remaining work.