Skip to content

The-ESAP-Project/node-sport-management

Repository files navigation

体质测试数据管理系统

版本 Node.js Express Sequelize 开发状态

项目概述

体质测试数据管理系统是一个专为学校和教育机构设计的全功能平台,用于收集、管理、分析和可视化学生体质测试数据。该系统提供直观的界面和强大的分析工具,帮助教育工作者追踪学生体质健康状况,制定针对性的改进计划。

⚠️ 注意: 本项目目前处于积极开发阶段,功能和API可能会发生变化。

主要功能

  • 学生数据管理: 存储和管理学生基本信息
  • 体测数据采集: 支持多种体测项目数据的录入和导入
  • 多维度数据分析: 按年级、班级、性别等多维度分析体测结果
  • 数据可视化: 直观图表展示体测成绩分布和趋势
  • 成绩评定: 自动根据国家标准评定体测等级
  • 统计报告: 生成综合统计报告和分析文档
  • 用户权限管理: 多级权限控制,保障数据安全

技术栈

后端

  • Node.js + Express
  • Sequelize ORM
  • MySQL/PostgreSQL
  • JWT 认证
  • REST API

前端 (独立仓库)

  • Vue.js
  • Tailwind CSS
  • ECharts
  • Axios

系统架构

+------------------+       +------------------+      +------------------+
|                  |       |                  |      |                  |
|     客户端        |<----->|    API服务器      |<---->|     数据库        |
|     (VUE)        |  HTTP |    (Express)     |  SQL |    (MySQL)       |
|                  |       |                  |      |                  |
+------------------+       +------------------+      +------------------+

数据模型

系统主要包含以下数据模型:

  • User: 系统用户(管理员、教师等)
  • StudentInfo: 学生基本信息
  • ClassInfo: 班级信息
  • SportData: 体测数据记录
  • StandardData: 国家体测标准数据

项目安装与运行

环境要求

  • Node.js >= 16.0.0
  • MySQL/MariaDB >= 5.7 或 PostgreSQL >= 9.6
  • npm >= 7.0.0

安装步骤

  1. 克隆仓库
git clone https://github.com/The-ESAP-Project/sport-management.git
cd sport-management
  1. 安装依赖
yarn install
  1. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,设置数据库连接等参数

默认管理员账号

系统会在数据库首次初始化时自动创建一个默认的超级管理员账号:

  • 用户名: admin (可通过 DEFAULT_ADMIN_USERNAME 环境变量修改)
  • 密码: Admin123! (可通过 DEFAULT_ADMIN_PASSWORD 环境变量修改)
  • 角色: 超级管理员

⚠️ 重要安全提醒:

  • 生产环境部署前,请务必修改默认密码!
  • 建议在 .env 文件中设置自定义的管理员账号信息:
# 默认管理员账号配置
DEFAULT_ADMIN_USERNAME=your_admin_username
DEFAULT_ADMIN_PASSWORD=YourStrongPassword123!
DEFAULT_ADMIN_NAME=管理员姓名

系统只会在数据库完全为空时创建默认账号。如果数据库中已有用户,则不会创建默认账号。

初始化数据库

# 开发环境
export NEED_INIT=true
yarn dev

# 或者直接设置环境变量
NEED_INIT=true yarn dev

启动开发服务器

yarn dev

生产环境部署

# 构建项目
yarn build

# 启动生产服务器
yarn start

API 文档

API 端点遵循 RESTful 设计原则,主要分为以下几类:

  • /api/v1/auth - 认证相关
  • /api/v1/user - 用户管理
  • /api/v1/student - 学生数据
  • /api/v1/class - 班级管理
  • /api/v1/sport - 体测数据
  • /api/v1/report - 报告生成
  • /api/v1/superadmin - 超级管理员功能

安全特性

  • JWT 令牌认证
  • 请求速率限制
  • 参数验证和消毒
  • 角色基础的权限控制
  • HTTPS 支持
  • 密码哈希存储

贡献指南

  1. Fork 项目仓库
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建 Pull Request

开发路线图

  • 用户认证系统
  • 基础数据模型设计
  • API基础框架
  • 学生信息管理
  • 体测数据录入与管理
  • 数据分析与统计
  • 报表生成功能
  • 批量导入/导出
  • 前端界面集成

许可证

GPL-3.0 License

联系方式

项目维护者: AptS:1547 & Cloudwhile


© 2025 AptS:1547 & Cloudwhile. 版权所有

About

Backend of physical testing data management system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages