摘要:
- 出席統計改讀 attendance 表(每天每人一列),依 poll_date 分組後餵給原本的統計函式
- 新增 DB_ATTENDANCE_TABLE 環境變數,預設 attendance;沒有此表時退回 badminton 分組名單
- 前端說明文字與 README 更新來源說明
根本原因:
- 原本用 badminton 表的每日分組名單,只有名單存進 DB 的日子才有資料,
當天報名還沒存名單就統計不到,名字寫法也要靠別名表修補
影響:
- 統計天數 121 → 126 天,含當天報名尚未分組的場次
- 名字寫法在 attendance 表已統一,別名合併(卡森→景涵 等)仍生效
修法:
- server.mjs 新增 loadAttendanceDays(),buildAttendanceStats() 改吃 [{ time, names }]
- .env.example / docker-compose.yml / README 補上 DB_ATTENDANCE_TABLE
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
48 lines
1.4 KiB
YAML
48 lines
1.4 KiB
YAML
services:
|
|
badminton-scoreboard:
|
|
container_name: badminton-scoreboard
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: badminton-scoreboard:latest
|
|
restart: unless-stopped
|
|
expose:
|
|
- "8788"
|
|
environment:
|
|
PORT: 8788
|
|
DB_HOST: ${DB_HOST:-192.168.0.15}
|
|
DB_PORT: ${DB_PORT:-3307}
|
|
DB_USER: ${DB_USER:-jianmiau}
|
|
DB_PASSWORD: ${DB_PASSWORD}
|
|
DB_DATABASE: ${DB_DATABASE:-badminton}
|
|
DB_TABLE: ${DB_TABLE:-badminton}
|
|
DB_HISTORY_TABLE: ${DB_HISTORY_TABLE:-history}
|
|
DB_ATTENDANCE_TABLE: ${DB_ATTENDANCE_TABLE:-attendance}
|
|
SSL_CERT_DIR: /certs
|
|
SSL_CERT_FILE_NAME: ${SSL_CERT_FILE_NAME:-cert.pem}
|
|
volumes:
|
|
- /volume1/docker/certs:/certs:ro
|
|
|
|
badminton-scoreboard-web:
|
|
container_name: badminton-scoreboard-web
|
|
build:
|
|
context: .
|
|
dockerfile: docker/nginx/Dockerfile
|
|
image: badminton-scoreboard-web:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- badminton-scoreboard
|
|
ports:
|
|
- "3501:3501"
|
|
environment:
|
|
NGINX_PORT: 3501
|
|
NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_}
|
|
SSL_CERT_DIR: /etc/nginx/certs
|
|
SSL_CERT_FILE_NAME: ${SSL_CERT_FILE_NAME:-cert.pem}
|
|
SSL_CHAIN_FILE_NAME: ${SSL_CHAIN_FILE_NAME:-chain.pem}
|
|
SSL_KEY_FILE_NAME: ${SSL_KEY_FILE_NAME:-privkey.pem}
|
|
UPSTREAM_HOST: badminton-scoreboard
|
|
UPSTREAM_PORT: 8788
|
|
volumes:
|
|
- /volume1/docker/certs:/etc/nginx/certs:ro
|