Files
Euchre-Scoreboard/README.md
T
2026-06-12 16:06:03 -04:00

149 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 34 tricks | +1 |
| Makers win all 5 tricks (march) | +2 |
| Makers win 02 tricks (euchred) | +2 to defenders |
| Lone wins 34 tricks | +1 |
| Lone wins all 5 tricks | +4 |
| Lone stopped (02 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.