2.9 KiB
2.9 KiB
Euchre Scoreboard
A web-based Euchre scoring app with a card-table theme. Track scores for two teams, handle march/euchre/lone outcomes, and play to 10 or 11 points.
Features
- Two-team scoreboard with editable team names
- Quick scoring: Made (+1), March (+2), Lone (+4)
- Defensive scoring: Euchre (+2), Lone stopped (+4)
- Hand history with undo
- Configurable target score (10 or 11)
- Scores persist in browser localStorage
- Mobile-friendly layout
Quick Start
Both local and Docker modes serve the app at http://localhost:20010.
Run locally
Requires Python 3.7+ (usually pre-installed on Linux and macOS).
python3 serve.py
Other ways to start locally:
make run
# or
npm start
Options:
python3 serve.py --port 3000 # use a different port
python3 serve.py --no-open # don't open a browser automatically
Run with Docker
Requires Docker and Docker Compose.
docker compose up --build
Other ways to start with Docker:
make docker
# or
npm run start:docker
Without Compose:
docker build -t euchre-scoreboard .
docker run -p 20010:80 euchre-scoreboard
Stop Docker:
make stop
# or
docker compose down
Publish the Docker image
Build a tagged image ready to push or share:
# Local tag (default)
make docker-image
# Your registry tag (Docker Hub, GHCR, etc.)
make docker-image IMAGE=yourusername/euchre-scoreboard TAG=latest
Push to a registry
Log in first (docker login), then push:
make docker-push IMAGE=yourusername/euchre-scoreboard TAG=latest
Examples:
# Docker Hub
docker login
make docker-push IMAGE=yourusername/euchre-scoreboard TAG=1.0.0
# GitHub Container Registry
docker login ghcr.io
make docker-push IMAGE=ghcr.io/yourusername/euchre-scoreboard TAG=latest
Others can run your published image with:
docker run -p 20010:80 yourusername/euchre-scoreboard:latest
Export as a file (upload elsewhere)
Creates a .tar archive you can upload to any host and load with docker load:
make docker-save IMAGE=euchre-scoreboard TAG=1.0.0
On the destination machine:
docker load -i euchre-scoreboard-1.0.0.tar
docker run -p 20010:80 euchre-scoreboard:1.0.0
Scoring Reference
| Outcome | Points |
|---|---|
| Makers win 3–4 tricks | +1 |
| Makers win all 5 tricks (march) | +2 |
| Makers win 0–2 tricks (euchred) | +2 to defenders |
| Lone wins 3–4 tricks | +1 |
| Lone wins all 5 tricks | +4 |
| Lone stopped (0–2 tricks) | +4 to defenders |
Project Layout
Euchre/
├── public/ # Static web app (HTML, CSS, JS)
├── serve.py # Local dev server
├── Dockerfile # Production-style nginx container
├── docker-compose.yml
└── Makefile # run / docker shortcuts
No build step is required for local development.