一个专为银行内训师比赛设计的全功能管理系统,支持签到、分组、抽签、打分、统计等完整流程。
- 扫码签到: 参赛者扫描专属二维码,输入手机后四位+姓名完成身份验证
- 智能分组: 按单位进行分组,同一单位成员在同一组
- 移动评分: 评委使用手机进行0-10分评分,操作简单直观
- 实时统计: 签到状态、评分情况、排名等数据实时更新
- 数据导出: 支持签到表、成绩单等各类报表导出
- Python 3.8+ - 主要开发语言
- FastAPI - 现代高性能Web框架
- SQLAlchemy - ORM数据库操作
- SQLite - 轻量级数据库
- Pydantic - 数据验证
- qrcode - 二维码生成
- Vue 3 - 渐进式JavaScript框架
- TypeScript - 类型安全的JavaScript
- Element Plus - Vue 3组件库
- Vite - 现代前端构建工具
- Pinia - Vue状态管理
- Axios - HTTP客户端
signSystem/
├── backend/ # Python后端
│ ├── app/ # 应用核心代码
│ │ ├── models/ # 数据模型
│ │ ├── api/ # API路由
│ │ ├── services/ # 业务逻辑
│ │ └── utils/ # 工具函数
│ ├── simple_app.py # 简化版应用(用于快速测试)
│ ├── requirements.txt # Python依赖
│ └── run.py # 启动脚本
├── frontend/ # Vue3前端
│ ├── src/
│ │ ├── components/ # Vue组件
│ │ ├── views/ # 页面组件
│ │ ├── api/ # API接口
│ │ ├── stores/ # 状态管理
│ │ └── utils/ # 工具函数
│ ├── package.json # 前端依赖
│ └── vite.config.ts # Vite配置
├── data/ # 数据文件
│ ├── photos/ # 参赛者照片
│ └── exports/ # 导出文件
├── start.bat # Windows启动脚本
├── start.sh # Linux/Mac启动脚本
└── README.md # 项目说明
Windows系统:
# 双击运行或在命令行执行
start.bat
Linux/Mac系统:
# 在终端执行
./start.sh
1. 启动后端服务
cd backend
pip install -r requirements.txt
python simple_app.py
2. 启动前端服务
cd frontend
npm install
npm run dev
- 前端管理界面: http://localhost:3000
- 后端API服务: http://localhost:8000
- API文档: http://localhost:8000/docs
- 用户名:
admin
- 密码:
admin123
- 用户名:
judge01
- 密码:
123456
系统预置了5个测试参赛者,二维码ID分别为:QR001-QR005
- 管理员登录系统导入参赛者名单
- 系统自动按单位进行分组
- 为每个参赛者生成专属签到二维码
- 设置评委账号和评分规则
- 参赛者使用手机扫描个人二维码
- 输入手机号后四位 + 真实姓名进行身份验证
- 验证成功后自动完成签到
- 可查看比赛安排和组员信息
- 评委使用手机登录评分系统
- 选择参赛者进行0-10分评分
- 支持滑块精确评分和按钮快速评分
- 实时查看评分统计和排名
- 实时查看签到率和各单位签到情况
- 评分分布和平均分统计
- 自动计算排名和获奖名单
- 一键导出各类报表
- Python: 3.8或更高版本
- Node.js: 16.0或更高版本
- 浏览器: Chrome 80+, Firefox 75+, Safari 13+
系统默认使用SQLite数据库,数据文件位于 data/simple_data.json
- 修改
backend/simple_app.py
中的端口和配置 - 修改
frontend/src/api/index.ts
中的API地址 - 在
data/photos/
目录放置参赛者照片
- ✅ 参赛者信息管理
- ✅ 分组管理和调整
- ✅ 签到状态监控
- ✅ 评分情况统计
- ✅ 实时数据大屏
- ✅ 数据导出功能
- ✅ 扫码签到验证
- ✅ 个人信息查看
- ✅ 比赛安排查看
- ✅ 评委登录打分
- ✅ 评分历史查看
- ✅ 签到率统计
- ✅ 各单位签到情况
- ✅ 评分分布图表
- ✅ 实时排行榜
- ✅ 活动时间线
cd backend
# 安装依赖
pip install -r requirements.txt
# 运行开发服务器
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
# 初始化数据库
python init_db.py
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 构建生产版本
npm run build
启动后端服务后,访问 http://localhost:8000/docs 查看完整的API文档
- ✨ 初始版本发布
- ✨ 完整的签到、分组、评分功能
- ✨ 移动端适配和响应式设计
- ✨ 实时数据统计和可视化
- ✨ 一键启动和部署脚本
如有问题或建议,请联系开发团队:
- 📧 邮箱: support@example.com
- 📱 电话: 400-xxx-xxxx
- 💬 微信: xxxxxxxx
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
联盟杯内训师大赛管理系统 - 让比赛管理更简单、更高效!