Skip to content

Commit 940e231

Browse files
docs: update README with latest features and architecture
1 parent 417542f commit 940e231

1 file changed

Lines changed: 14 additions & 6 deletions

File tree

README.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,22 @@ Remote mode is powered by **Supabase Realtime**.
2828

2929
- Room metadata: `rooms`
3030
- Participant claims: `room_participants`
31-
- Room state: `auction_rooms`
31+
- Room state: `auction_rooms` (includes last event, status, and full state snapshot)
3232
- Event log: `auction_events`
33+
- Room snapshots: full state (price, history, config, participants) persisted for late-joiner sync and authoritative state recovery
3334

3435
## Features
3536

3637
- Descending-price auction flow
37-
- Configurable start price, floor price, decrement amount, and tick interval
38+
- Configurable start price, floor price, decrement amount, and tick interval (seconds or minutes with quick presets: 10s, 30s, 1m, 5m)
3839
- Host-only remote controls (start/reset)
3940
- Participant claim locks (no duplicate slot claims)
4041
- Start gating until all required participants are claimed
41-
- Winner capture at click-time price
42+
- Winner capture at click-time price with bid price-lock protection
43+
- Real-time participant presence (join/leave toasts) and connection status indicators
44+
- Participant readiness visibility (READY/PASSED states)
45+
- Floor-reached / no-deal terminal state with clear UI
46+
- Authoritative room state snapshots (ensures late joiners sync correctly)
4247
- Auction history view
4348
- Sound cues (start, drop, bid, end)
4449
- Setup modal for runtime reconfiguration
@@ -52,14 +57,17 @@ You can configure auction behavior in two ways.
5257
### 1) Frontend setup panel (GUI)
5358
Use the **Setup** button in the header to adjust:
5459
- start price
55-
- floor price
60+
- floor price
5661
- decrement amount
57-
- drop interval
62+
- drop interval (seconds or minutes, with presets: 10s, 30s, 1m, 5m)
5863
- number of participants
5964
- participant initials (comma-separated)
6065

61-
Validation currently enforces:
66+
Validation enforces:
6267
- floor price must be less than start price
68+
- decrement amount must not exceed price range (start - floor)
69+
- participant initials count must match participant count
70+
- all numeric values must be positive
6371

6472
### 2) `public/setup.js`
6573
Set startup defaults before the app loads:

0 commit comments

Comments
 (0)