feat(auction): Silent Auction Space (browse, bid, admin, email) - #63
Open
scrimshawlife-ctrl wants to merge 9 commits into
Open
feat(auction): Silent Auction Space (browse, bid, admin, email)#63scrimshawlife-ctrl wants to merge 9 commits into
scrimshawlife-ctrl wants to merge 9 commits into
Conversation
* docs: add Silent Auction MVP architecture and planning * docs: expand Silent Auction roadmap across phases 0–4 * docs: slice Phase 1 into minimal fully functional build path * docs: add Auction Space planning package and decision log Bring Silent Auction / Auction Space docs onto the fork, brand the package as Auction Space, and add DECISIONS.md so Phase 0 can close once reviewers record DB, auth, email, and API host choices. Co-authored-by: Daniel Meyer <DKMeyer1@student.fullsail.edu> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Record infrastructure defaults (Postgres, magic-link auth, Resend, Vercel) and ship the first runnable Auction Space foundation on the existing site. Slice 0: migrations, admin seed, shared API helpers, health/admin ping. Slice 1: public artworks APIs, demo lot seed, /auction gallery and detail with client countdown (bid CTA deferred to Slice 2).
Add magic-link/OTP auth (request-link, verify, session cookie), transactional place-bid with artwork row lock, bid_received/outbid email hooks via Resend (dev_otp when email unset), and artwork-page login + bid modal.
Add admin artworks list/detail API, create/patch/delete-draft/close endpoints, and /auction/admin UI so staff can run lots without SQL. Close sets winner from high bid and sends winner/closed emails when Resend is configured.
Polish bid/outbid/winner/closed templates with shared footers, notify all admins on close, and add secured ending-soon cron with idempotent sends plus auto-close for lots past ends_at. Hourly schedule in vercel.json.
Match silent auction pages to existing site language: section titles, Rajdhani/Saira type, #e13838 / #df3f33 reds, peachpuff card hover, shared button styles, soft purple hero wash, and 15px white cards with site shadow tokens. Update gallery, detail, modal, and admin chrome.
Add auction-dev-server for API without Vercel CLI, csv/base64/logger gems for Ruby 4, and localhost HD_AUCTION_API wiring for dual-port demos.
Style Auction as a red chip next to Donate in desktop and mobile nav, and add an Auction link in the footer for discoverability.
scrimshawlife-ctrl
requested review from
bigwoofie,
hd-admin and
phebes83
as code owners
August 4, 2026 21:57
hd-admin
approved these changes
Aug 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Auction Space — a fundraising silent auction for art/donated lots — on the existing Hacker Dojo Jekyll site without redesigning the marketing chrome.
/auction/, lot detail + countdown/auction/admin/— create / edit / close + winnerInfra defaults (documented in
docs/auction/DECISIONS.md)DATABASE_URL)api/*.js+vercel.jsoncron)Key paths
docs/auction/— planning + runbooksapi/auction/*— serverless handlerslib/auction/*— shared server libauction/— Jekyll pagesstatic/css/auction.css,static/js/auction*.js_includes/header.html→/auction/Test plan
cp .env.example .env.local(setDATABASE_URL,SESSION_SECRET,ADMIN_EMAIL)npm install && npm run auction:bootstrapnpm run auction:dev(or Vercel) · site:bundle exec jekyll serve/auction/dev_otpif Resend unset)/auction/admin/as admin: create → activate → closePOST /api/auction/cron/ending-soonwithAUCTION_CRON_SECRETNotes
:4000+ API:3000(HD_AUCTION_APIauto on localhost)Docs
Start at
docs/auction/START_HERE.md· decisions indocs/auction/DECISIONS.md