中文 | English
这是一个基于 Go 语言开发的 Paradigm: Reboot 查分器后端服务,搭配 Vue 3 前端。支持如下特性:
- 用户管理: 注册、JWT 认证、个人资料更新、上传令牌、密码修改/重置。
- 曲目管理: 曲目和谱面的增删改查(管理员操作)。
- 成绩管理: 支持批量上传成绩(JSON),自动计算单曲 Rating 并维护最佳成绩。
- B50 计算: 自动筛选 B35 (旧曲) + B15 (新曲) 构成 Best 50。
- 数据导出: 支持将个人成绩导出为 CSV 文件。
- 前端界面: 基于 Vue 3 + TypeScript + Naive UI 的暗色主题 Web 界面。
- API 文档: 集成 Swagger 文档,方便对接。
- 容器化: 支持 Docker 一键部署。
-
克隆仓库:
git clone https://github.com/IceLocke/paradigm-reboot-prober-go.git cd paradigm-reboot-prober-go -
配置: 复制并修改配置文件(务必修改
secret_key):cp config/config.yaml.example config/config.yaml # 编辑 config/config.yaml,修改 secret_key 和数据库配置 -
启动服务:
go run cmd/server/main.go
cd web
pnpm install
pnpm dev前端开发服务器会自动代理 API 请求到后端 :8080 端口。
docker-compose up -d这会启动后端服务和 PostgreSQL 16 数据库。
如果需要从旧版 Python 后端迁移数据:
go run cmd/migrate/main.go -config config/config.yaml详见 legacy/MIGRATION.md。
访问:http://localhost:8080/swagger/index.html
go test -v ./...测试使用内存 SQLite 数据库,无需外部依赖。
.
├── cmd/
│ ├── server/ # 应用入口
│ └── migrate/ # 数据库迁移工具
├── config/ # 配置文件
├── internal/ # 内部模块 (controller, service, repository, model, middleware, util)
├── pkg/ # 可复用包 (auth, rating)
├── web/ # Vue 3 前端
├── docs/ # Swagger 文档(自动生成)
├── legacy/ # 旧版迁移资料 (SQL, OpenAPI 规范)
└── scripts/ # 辅助脚本