Update README.md
This commit is contained in:
@@ -1,148 +1,7 @@
|
||||
# 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.
|
||||
services:
|
||||
web:
|
||||
image: jones013/euchre-scoreboard:latest
|
||||
ports:
|
||||
- 20010:80
|
||||
restart: unless-stopped
|
||||
networks: {}
|
||||
|
||||
Reference in New Issue
Block a user