A web application for scoring bridge games using Individual IMP scoring for 8 players across 7 rounds.
- Multi-device support (4 players on 4 devices)
- Real-time scoring synchronization
- Automatic movement and vulnerability calculation
- Session persistence (reconnect after refresh)
- Individual leaderboard
- Round-by-round game summary
app.js— Express server entry point, listens onPORT(default 3000)server.js— All API route handlersindex.html— Entire frontend (vanilla JS, no framework)- Redis — Sole data store (
REDIS_URLenvironment variable)
- Node.js
- A running Redis instance
npm installSet the required environment variable:
export REDIS_URL=redis://localhost:6379Start the server:
node app.jsThen open http://localhost:3000 in your browser.
| Variable | Required | Description |
|---|---|---|
REDIS_URL |
Yes | Redis connection string |
PORT |
No | Server port (default: 3000) |
NODE_ENV |
No | Environment name |
The app runs on OpenShift. Branches map to environments as follows:
| Branch | Environment |
|---|---|
main |
Production (Vercel) |
dev |
Integration (OpenShift) |
qa |
Pre-prod (OpenShift) |
claude |
Review (OpenShift, auto-deployed) |
To deploy: open a PR from your branch to dev. Merging to dev triggers a deployment to the integration environment.