Scaffold and Phase 1
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Event-Day Preflight Checklist
|
||||
|
||||
Complete this list at least 60 minutes before doors open.
|
||||
|
||||
## Server & Network
|
||||
|
||||
- [ ] Server is powered on and accessible at the public URL
|
||||
- [ ] `docker compose ps` shows all containers healthy
|
||||
- [ ] Local DNS record resolves: `ping auction.event.lan` responds from server LAN IP
|
||||
- [ ] Event Wi-Fi SSID is broadcasting; test device can connect
|
||||
- [ ] Failover test: disconnect WAN, confirm app loads via local hostname, reconnect WAN
|
||||
- [ ] UPS is charged and protecting server + network gear
|
||||
|
||||
## Application
|
||||
|
||||
- [ ] Log in as admin at `/admin`
|
||||
- [ ] Correct event is set to **published** status
|
||||
- [ ] All auction items are entered with opening bids and increments
|
||||
- [ ] Silent auction windows have correct open/close times and timezone
|
||||
- [ ] Soft-close is configured on silent items
|
||||
- [ ] Stripe keys are set; run a test payment in Stripe test mode
|
||||
- [ ] Twilio Verify is working: send a test OTP to your phone
|
||||
|
||||
## Staff Devices
|
||||
|
||||
- [ ] Auctioneer tablet loaded at `/staff/auctioneer`, logged in with `auctioneer` role
|
||||
- [ ] Spotter phone(s) loaded at `/staff/spotter`, logged in with `spotter` role
|
||||
- [ ] Check-in tablet(s) loaded at `/staff/check-in`, logged in with `checkin_staff` role
|
||||
- [ ] Display board TV/projector loaded at `/display` (no login required)
|
||||
- [ ] All staff devices are connected to the event SSID
|
||||
|
||||
## Bidder Registration
|
||||
|
||||
- [ ] CSV import completed (or manual bidders entered)
|
||||
- [ ] Paddle numbers assigned for pre-registered bidders
|
||||
- [ ] QR code registration link / printed QR codes ready at check-in desk
|
||||
- [ ] Test bidder account works: log in, view silent catalog, place a test bid, see outbid notification
|
||||
|
||||
## Backups
|
||||
|
||||
- [ ] Database backup triggered: `docker compose exec db pg_dump -U storybid storybid > backup-$(date +%F).sql`
|
||||
- [ ] Backup file copied off the event server (USB drive or remote location)
|
||||
|
||||
## Go/No-Go
|
||||
|
||||
All items checked → **Go**. Any blocker → resolve before opening bidding.
|
||||
@@ -0,0 +1,32 @@
|
||||
# Staff Roles Quick Reference
|
||||
|
||||
| Role | URL | Can do |
|
||||
|------------------|-----------------------|-----------------------------------------------------------|
|
||||
| `admin` | `/admin` | Everything |
|
||||
| `event_manager` | `/admin/events` | Create/edit events, items, bidders; view reports |
|
||||
| `auctioneer` | `/staff/auctioneer` | Activate lots, call bids, mark sold/pass |
|
||||
| `spotter` | `/staff/spotter` | Enter floor bids by paddle number |
|
||||
| `checkin_staff` | `/staff/check-in` | Search bidders, scan QR, mark checked-in |
|
||||
| `bidder` | `/` | View catalog, place bids, checkout |
|
||||
|
||||
## Auctioneer Workflow (Live Auction)
|
||||
|
||||
1. Open `/staff/auctioneer` on your tablet.
|
||||
2. Tap **Activate** on the first lot — this makes it live to all bidder devices.
|
||||
3. Call the opening bid from the podium; tap **Call $X** to push the amount to devices.
|
||||
4. As bids come in (phone or floor), tap **Accept** with the paddle number.
|
||||
5. Tap **Going Once** → **Going Twice** → **Sold** to close the lot.
|
||||
6. Tap **Next Lot** to advance.
|
||||
|
||||
## Spotter Workflow
|
||||
|
||||
1. Open `/staff/spotter` on your phone.
|
||||
2. When you see a floor bid, enter the paddle number and tap **Bid**.
|
||||
3. The auctioneer console receives it immediately.
|
||||
|
||||
## Check-In Workflow
|
||||
|
||||
1. Open `/staff/check-in` on your tablet.
|
||||
2. Scan the bidder's QR code **or** search by name/email.
|
||||
3. Confirm paddle number and assign a table if relevant.
|
||||
4. Tap **Check In** — the bidder's device receives their digital paddle.
|
||||
Reference in New Issue
Block a user