# group-score **Repository Path**: xkx1029/group-score ## Basic Information - **Project Name**: group-score - **Description**: 小组分数统计系统 - 一个用于管理和统计学习小组成员分数的Web应用,支持成员管理、分数录入、统计分析和数据导出等功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-16 - **Last Updated**: 2026-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 小组分数统计系统 ## 项目介绍 小组分数统计系统是一个用于管理和统计学习小组成员分数的Web应用,支持成员管理、分数录入、统计分析和数据导出等功能。 ## 技术栈 - **前端**:HTML5, CSS3, JavaScript, Chart.js - **后端**:Node.js, Express.js - **数据库**:SQLite - **容器化**:Docker, Docker Compose ## 功能特点 - **成员管理**:添加、编辑、删除小组成员 - **分数录入**:支持当日加分、总分和分条录入三种模式 - **统计分析**:成员积分趋势和小组总分趋势图表 - **数据导出**:支持导出CSV格式数据 - **配置管理**:自定义加分项和快速添加项目 - **主题切换**:支持浅色和深色模式 - **数据持久化**:使用SQLite数据库存储数据 ## 部署步骤 ### 1. 准备工作 - 确保NAS上已安装Docker和Docker Compose - 确保NAS的网络设置允许访问相应端口(默认8080和3000) ### 2. 部署方法 #### 方法一:直接在NAS上部署 1. **复制项目文件到NAS** - 将整个项目目录复制到NAS的某个文件夹中,例如:`/volume1/docker/group-score` 2. **启动服务** - 在NAS上打开终端,进入项目目录 - 执行以下命令启动服务: ```bash docker-compose up -d ``` 3. **访问应用** - 打开浏览器,访问 `http://NAS_IP:47562` - 默认管理员密码:`Lc20121029` #### 方法二:使用Docker命令部署 1. **构建镜像** ```bash docker build -t group-score-api ./api ``` 2. **启动容器** ```bash docker run -d --name group-score-api \ -p 3000:3000 \ -v ./api/data:/app/data \ group-score-api docker run -d --name group-score-frontend \ -p 47562:80 \ -v ./:/usr/share/nginx/html \ -v ./nginx.conf:/etc/nginx/conf.d/default.conf \ nginx:alpine ``` ## 目录结构 ``` 小组分数统计/ ├── api/ # 后端API服务 │ ├── data/ # 数据库文件目录 │ ├── Dockerfile # 后端Dockerfile │ ├── README.md # API文档 │ ├── db.js # 数据库操作 │ ├── package.json # 依赖配置 │ └── server.js # 服务器主文件 ├── docker-compose.yml # Docker Compose配置 ├── index.html # 前端页面 ├── nginx.conf # Nginx配置 └── README.md # 项目说明 ``` ## 数据持久化 - **数据库文件**:存储在 `api/data/group_score.db`,通过Docker卷映射实现持久化 - **配置数据**:存储在数据库的config表中 - **成员和分数数据**:存储在数据库的members和scores表中 ## 使用说明 ### 1. 管理员登录 - 打开应用后,点击「管理员登录」 - 输入密码:`Lc20121029` - 进入管理页面 ### 2. 成员管理 - 在「成员管理」模块中,添加小组成员 - 填写成员编号、姓名和学号 - 点击「添加成员」按钮保存 ### 3. 分数录入 - 在「分数录入」模块中,选择日期和成员 - 选择录入类型: - 当日加分:直接输入加分值 - 总分:输入成员的总分 - 分条录入:添加多个加分项 - 点击「添加分数」按钮保存 ### 4. 统计分析 - 在「统计分析」模块中,查看成员积分趋势和小组总分趋势 - 可选择查看单个成员的积分情况 ### 5. 设置 - 在「设置」模块中,配置加分项和快速添加项目 - 导出/导入配置 - 切换主题模式 ### 6. 数据导出 - 在「设置」模块中,点击「导出CSV」按钮 - 下载包含成员和分数数据的CSV文件 ## 常见问题及解决方案 ### 1. 服务无法启动 - 检查Docker服务是否正常运行 - 检查端口是否被占用 - 查看容器日志:`docker logs group-score-api` ### 2. 数据丢失 - 确保 `api/data` 目录正确映射到容器 - 定期备份 `group_score.db` 文件 ### 3. 访问速度慢 - 检查NAS的性能和网络连接 - 考虑使用更强大的NAS设备 ### 4. 无法登录管理员 - 确保输入正确的密码:`Lc20121029` - 检查浏览器缓存,尝试清除缓存后重新登录 ## 安全注意事项 - 本系统仅提供简单的密码验证,建议在生产环境中使用HTTPS - 定期备份数据库文件 - 不要在公共网络上暴露管理页面 ## 更新日志 ### v1.0.0 - 初始版本 - 实现基本的成员管理和分数统计功能 - 支持Docker部署 - 数据持久化存储 ## 许可证 MIT License