Compare commits

...
2 Commits
3 changed files with 112 additions and 2 deletions

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
# 构建产物
dist/
*.exe
*.test
# 运行时数据(数据库、备份、上传资源)——绝不入库
data/
!data/.gitkeep
# 规则包(可能含敏感信息)——只保留本格式说明
rules/*
!rules/README.md
# 开发文档(内部设计文档,不进仓库)
devdocs/
# 导出的赛事包 / xlsx(含敏感信息)
exports/
# 日志
logs/
*.log
# 环境变量与密钥
.env
.env.*
!.env.example
# 前端
web/node_modules/
web/dist/
# 编辑器 / 系统
.vscode/*
!.vscode/extensions.json
.idea/
.DS_Store
Thumbs.db
*.swp
# 临时文件
*.tmp
.tmp/
+40 -2
View File
@@ -1,3 +1,41 @@
# Scoreboard
# Scoreboard · 赛事积分榜系统
一个简易实用的赛事积分榜系统
一套局域网内部署的赛事成绩与积分系统:**一个服务端 + 两个界面**,后台一改数据,前台大屏实时跟着变。
| 界面 | 地址 | 用途 |
| --- | --- | --- |
| 实时积分大屏 | `/display` | 只读、无人值守;成绩发布后 1 秒内更新 |
| 管理面板 | `/admin` | 录入、发布成绩,控制大屏;未登录可只读查看全部赛事数据 |
## 功能概览
- **四个榜**:总积分榜、团体奖牌榜、个人积分奖牌榜、分项成绩表
- **录入即上屏**:成绩录入 → 发布 → 大屏即时更新
- **可追溯、可撤销**:草稿不上屏;发布后纠错走「撤销发布 → 改 → 重新发布」,全程留痕
- **变更历史**:仿 Git 图谱,一眼看清成绩是怎么变成现在这样的
- **现场公开**:积分明细可下钻,争议时一键推送到大屏
- **规则可配置**:积分规则以规则包(YAML)描述,可导入导出、跨赛事复用
- **赛事独立存档**:每个赛事一个独立项目目录,可整包导出/导入
- **结果导出**:Excel 总表与分项可单独导出
## 快速开始
1. 解压部署包
2. 双击 `scoreboard.exe`(Linux 下执行 `./scoreboard`)
3. 浏览器打开终端提示的地址
```
大屏 http://<主机IP>:8080/display
管理面板 http://<主机IP>:8080/admin
```
> 完全离线运行,不依赖外网,不需要安装任何运行时。
## 文档
- 使用说明、操作手册:随正式版发布补充
- 规则包格式:见 [rules/README.md](./rules/README.md)
## 许可证
MIT
+29
View File
@@ -0,0 +1,29 @@
# 规则包(rules/)
本目录存放**可导入导出的积分规则包**,格式 YAML。
> ⚠️ 本目录下的规则包**不进版本库**(`.gitignore` 已排除 `rules/*`,仅保留本文件),因为可能包含赛事相关的敏感信息。
## 文件命名
`<赛事名>.yaml`
## 顶层字段
| 字段 | 说明 |
| --- | --- |
| `format` / `formatVersion` | 固定为 `scoreboard-rules` / `1` |
| `meta` | 规则包名称、code、版本、更新时间 |
| `standings` | 加权系数、tie-break、奖牌统计开关 |
| `profiles` | 积分模板(分值、录取名次、并列口径) |
| `recordBonus` | 破纪录档位与分值 |
| `manualAdjustment` | 人工调整开关 |
| `channelTemplates` | 按项目类型套用的计分通道 |
| `eventOverrides` | 单个项目的例外配置 |
## 导入导出
- 导出:管理端「规则」页 → 导出 YAML
- 导入:先预览差异,确认后写入并全量重算积分
详细定义见 [02-积分与排名规则](../devdocs/02-积分与排名规则.md) 第 7 节。