# 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](http://localhost:20010). ### Run locally Requires Python 3.7+ (usually pre-installed on Linux and macOS). ```bash python3 serve.py ``` Other ways to start locally: ```bash make run # or npm start ``` Options: ```bash 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. ```bash docker compose up --build ``` Other ways to start with Docker: ```bash make docker # or npm run start:docker ``` Without Compose: ```bash docker build -t euchre-scoreboard . docker run -p 20010:80 euchre-scoreboard ``` Stop Docker: ```bash make stop # or docker compose down ``` ## Publish the Docker image Build a tagged image ready to push or share: ```bash # 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: ```bash make docker-push IMAGE=yourusername/euchre-scoreboard TAG=latest ``` Examples: ```bash # 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: ```bash 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`: ```bash make docker-save IMAGE=euchre-scoreboard TAG=1.0.0 ``` On the destination machine: ```bash 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.