--- type: project status: active source: git.alwisp.com repo: jason/storybid repo_url: https://git.alwisp.com/jason/storybid language: TypeScript branch: main tags: - repo - jason - stroybook - storybid updated: 2026-05-29 --- # storybid **Repository:** [jason/storybid](https://git.alwisp.com/jason/storybid) · branch `main` · TypeScript ## Summary Self-hosted charity auction platform — live and silent auctions with offline-first PWA bidding, Socket.io real-time updates, Stripe payments, and SMS OTP auth ## Current status Active. Synced from Gitea on 2026-05-29. ## Documentation overview # Storybid Self-hosted charity auction platform supporting live and silent auctions in the same event, with offline-first PWA bidding and automatic LAN failover for event-night resilience. ## Stack | Layer | Choice | |------------|---------------------------------------------| | Client | React 18 + TypeScript + Vite + Tailwind | | PWA/Offline| Workbox (vite-plugin-pwa) + Dexie/IndexedDB | | Real-time | Socket.io | | Server | Node.js + Express + TypeScript | | ORM | Prisma | | Database | PostgreSQL (SQLite optional for dev) | | Cache/Queue| Redis (optional) | | Auth | Email magic links + Twilio Verify SMS OTP | | Payments | Stripe Payment Element / Payment Intents | | Media | Local disk (multer) served as static files | | Deploy | Docker Compose (Unraid / Linux VM) | ## Quick Start (development) ```bash # 1. Clone and install git clone cd storybid npm install # 2. Start DB + Redis docker compose -f docker-compose.dev.yml up -d # 3. Configure environment cp .env.example .env # Edit .env with your Stripe, Twilio, and SMTP keys # 4. Migrate database and seed demo data npm run db:migrate npm run db:seed # 5. Start dev servers npm run dev # Client → http://localhost:5173 # Server → http://localhost:3001 ``` ## Production Deployment See [`ops/README.md`](./ops/README.md). ## Event-Night Network See [`ops/unifi-dns.md`](./ops/unifi-dns.md) for UniFi local DNS setup and WAN-failover testing. ## Staff Runbook See [`event-runbook/preflight.md`](./event-runbook/preflight.md) for the …(truncated — see repo) ## Notes - Project file auto-created from repo documentation.