# 学生管理系统 **Repository Path**: luo-answer/student-management-system ## Basic Information - **Project Name**: 学生管理系统 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-10 - **Last Updated**: 2026-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 学生管理系统 一个功能完整的学生管理系统,采用 Flask + MySQL 架构,包含管理端、老师端和学生端三种角色。 ## 目录 - [功能特性](#功能特性) - [技术栈](#技术栈) - [项目结构](#项目结构) - [快速开始](#快速开始) - [数据库配置](#数据库配置) - [使用说明](#使用说明) - [功能模块](#功能模块) --- ## 功能特性 ### 角色权限 - **管理端**:拥有系统最高权限,可管理所有用户、班级、成绩等 - **老师端**:可管理所带班级的学生和成绩 - **学生端**:可查看个人信息和成绩,提交申请 ### 核心功能 - ✅ 用户注册和登录(支持密码验证) - ✅ 用户管理(增删改查) - ✅ 班级管理 - ✅ 成绩管理(录入、查询、统计) - ✅ 消息通知 - ✅ 系统日志记录 - ✅ 转班申请和审核 - ✅ 姓名修改申请和审核 - ✅ 系统配置 - ✅ 数据备份 - ✅ 可收缩侧边栏导航 - ✅ 响应式设计 --- ## 技术栈 ### 后端 - **框架**:Flask 2.3.3 - **ORM**:Flask-SQLAlchemy 3.0.5 - **数据库**:MySQL 8.0+ - **CORS**:Flask-CORS 4.0.0 - **其他**:Werkzeug 2.3.7, python-dotenv 1.0.0 ### 前端 - **HTML5** + **CSS3** + **JavaScript (ES6+)** - **UI设计**:现代扁平化风格 - **布局**:响应式左右分栏 --- ## 项目结构 ``` Student_Manage_System/ ├── app.py # Flask应用入口 ├── config.py # 配置文件(数据库连接等) ├── models.py # 数据模型定义 ├── routes.py # API路由和业务逻辑 ├── main.py # 应用启动脚本 ├── requirements.txt # 项目依赖 ├── database_schema.sql # 数据库建表脚本 ├── .gitignore # Git忽略文件 ├── README.md # 项目说明 ├── frontend/ # 前端目录 │ ├── index.html # 首页 │ ├── styles.css # 样式文件 │ └── app.js # 前端逻辑 ├── 学生管理系统需求文档.md # 需求文档 └── 技术选型文档.md # 技术选型说明 ``` --- ## 快速开始 ### 1. 环境要求 - Python 3.10+ - MySQL 8.0+ - conda 或 pip ### 2. 安装依赖 使用 pip 安装: ```bash pip install -r requirements.txt ``` 或者使用 conda 安装(如果已有的环境包含需要的包): ```bash # 直接使用现有环境 ``` ### 3. 数据库准备 #### 创建数据库 ```sql CREATE DATABASE student_manage_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` #### 执行建表脚本 在 MySQL 中执行 `database_schema.sql` 文件: ```bash mysql -u root -p student_manage_db < database_schema.sql ``` 或者使用 Navicat 等工具导入。 ### 4. 配置数据库连接 修改 `config.py` 中的数据库配置: ```python MYSQL_HOST = 'localhost' MYSQL_USER = 'root' MYSQL_PASSWORD = 'your_password' # 改为你的MySQL密码 MYSQL_DB = 'student_manage_db' ``` ### 5. 启动应用 ```bash python app.py ``` 应用将在 `http://localhost:5000` 启动 --- ## 数据库配置 ### 默认管理员账号 - **账号**:`admin` - **密码**:`admin123` ### 表结构 系统包含以下核心表: - `users` - 用户表 - `classes` - 班级表 - `scores` - 成绩表 - `messages` - 消息表 - `system_logs` - 系统日志表 - `transfer_applications` - 转班申请表 - `name_change_applications` - 姓名修改申请表 - `system_config` - 系统配置表 详细建表语句请参考 `database_schema.sql`。 --- ## 使用说明 ### 访问系统 打开浏览器访问:`http://localhost:5000` ### 登录账号 - **管理端**:admin / admin123 - **老师端/学生端**:请在管理端创建或通过注册功能创建 ### 侧边栏收缩 点击顶部左侧的菜单按钮可以收缩/展开侧边栏,获得更大的内容区域。 --- ## 功能模块 ### 1. 首页 / 统计面板 - 显示系统统计数据 - 最近动态记录 - 欢迎信息 ### 2. 用户管理 - 用户列表(分页、搜索) - 新增用户 - 编辑用户信息 - 删除用户 ### 3. 班级管理 - 班级列表 - 新增班级 - 编辑班级信息 - 删除班级 ### 4. 成绩管理 - 成绩列表 - 录入成绩 - 编辑成绩 - 删除成绩 - 成绩统计和分析 ### 5. 消息中心 - 查看消息 - 标记已读 - 发送系统消息(管理员) ### 6. 系统日志 - 查看系统操作记录 - 操作人、时间、内容 ### 7. 数据统计 - 用户统计 - 成绩分布 - 平均分/最高分/最低分 ### 8. 系统配置 - 系统名称设置 - 分数标准设置 - 安全设置 ### 9. 数据备份 - 手动备份数据 ### 10. 转班申请 - 学生申请转班 - 管理员审核 - 自动更新班级人数 ### 11. 姓名修改申请 - 学生申请修改姓名 - 老师/管理员审核 --- ## API 接口说明 ### 用户相关 - `POST /api/login` - 用户登录 - `POST /api/register` - 学生注册 - `POST /api/logout` - 退出登录 - `GET /api/users` - 获取用户列表 - `POST /api/users` - 新增用户 - `GET /api/users/` - 获取用户详情 - `PUT /api/users/` - 更新用户 - `DELETE /api/users/` - 删除用户 ### 班级相关 - `GET /api/classes` - 获取班级列表 - `POST /api/classes` - 新增班级 - `GET /api/classes/` - 获取班级详情 - `PUT /api/classes/` - 更新班级 - `DELETE /api/classes/` - 删除班级 - `GET /api/class_students/` - 获取班级学生 ### 成绩相关 - `GET /api/scores` - 获取成绩列表 - `POST /api/scores` - 录入成绩 - `PUT /api/scores/` - 更新成绩 - `DELETE /api/scores/` - 删除成绩 - `GET /api/scores/statistics` - 成绩统计 ### 其他接口 - `GET /api/messages` - 获取消息 - `POST /api/messages/send` - 发送消息 - `PUT /api/messages/` - 标记已读 - `DELETE /api/messages/` - 删除消息 - `GET /api/system_logs` - 获取系统日志 - `GET /api/statistics` - 获取统计数据 - `GET /api/system_config` - 获取系统配置 - `PUT /api/system_config` - 更新系统配置 - `POST /api/backup` - 数据备份 --- ## 开发说明 ### 启动开发服务器 ```bash python app.py ``` ### 数据库初始化 运行 `main.py` 会自动创建数据库表(如果表不存在): ```bash python main.py ``` --- ## 注意事项 1. 请确保 MySQL 服务已启动 2. 首次使用请先执行 `database_schema.sql` 创建表 3. 生产环境请修改默认的管理员密码 4. 建议定期进行数据备份 --- ## 许可证 MIT License --- ## 贡献 欢迎提交 Issue 和 Pull Request! --- ## 联系方式 如有问题,请通过 Issue 反馈。