Description
Production infrastructure: D1 database, worker deployment, DNS routing, leaderboard.
Acceptance Criteria
- D1 database
minigolf created via wrangler
- Schema:
scores table with name, score (total strokes), course_par, created_at
GET /api/leaderboard - top 10 scores (lowest strokes)
POST /api/score - submit { name, score, coursePar }
- Worker deployed via
npx wrangler deploy
- Static assets rsynced to
/var/www/mini-golf
- Cloudflare routes
mccarrison.me/golf and mccarrison.me/golf/* to golf-api worker
- Dev environment at
mccarrison.me/golfdev with separate D1
- Client-side leaderboard on gameover screen (
js/leaderboard.js)
- Auto-submit score after completing all 9 holes (if name set)
- Feedback endpoint
POST /api/feedback
Files
worker/src/index.js, worker/schema.sql, js/leaderboard.js, deploy.sh
Dependencies
Issues #1, #6, #7
Description
Production infrastructure: D1 database, worker deployment, DNS routing, leaderboard.
Acceptance Criteria
minigolfcreated via wranglerscorestable with name, score (total strokes), course_par, created_atGET /api/leaderboard- top 10 scores (lowest strokes)POST /api/score- submit{ name, score, coursePar }npx wrangler deploy/var/www/mini-golfmccarrison.me/golfandmccarrison.me/golf/*togolf-apiworkermccarrison.me/golfdevwith separate D1js/leaderboard.js)POST /api/feedbackFiles
worker/src/index.js,worker/schema.sql,js/leaderboard.js,deploy.shDependencies
Issues #1, #6, #7