- Notifications
You must be signed in to change notification settings - Fork0
基于 Vue3 + Flask 的班级学生行为量化管理系统,提供扣分记录、数据统计、公告发布等功能
License
NotificationsYou must be signed in to change notification settings
ischenyu/FlaskStudentManager
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
基于 Vue3 + Flask 的班级学生行为量化管理系统,提供扣分记录、数据统计、公告发布等功能
API文档: q573zqg6s1.apifox.cn
功能模块 | 功能描述 |
---|---|
扣分记录管理 | 增删查改学生扣分记录,支持模糊搜索 |
数据可视化 | 折线图展示扣分趋势,TOP榜显示重点学生 |
公告系统 | Markdown格式公告弹窗,支持多端展示 |
权限验证 | API密钥验证机制保障数据安全 |
📦 前端技术栈- Vue3 + Composition API- Ant Design Vue 组件库- VueUse / Axios / Marked- 响应式布局(适配PC/移动端)⚙️ 后端技术栈- Flask RESTful API- PyMySQL 数据库操作- JWT 令牌验证- Nginx 反向代理配置
.├── fronted# 前端项目│ ├── src│ │ ├── assets# 静态资源│ │ ├── components# 通用组件│ │ ├── electeon# 客户端│ │ └── index.js# 核心逻辑│├── backend# 后端项目│ ├── app│ │ ├── routes# 路由模块│ │ ├── utils# 工具函数│ │ └── __init__.py# 应用工厂│ ├── student.sql# 数据库初始化文件│ └── requirements.txt# Python依赖
- Node.js 16+
- Python 3.9+
- MySQL 8.0+
# 克隆项目git clone https://github.com/ischenyu/FlaskStudentManager.gitcd FlaskStudentManager# 前端依赖cd frontednpm install# 后端依赖cd ../backendpip install -r requirements.txt
- 创建MySQL数据库
CREATEDATABASEstudent DEFAULT CHARSET=utf8mb4;
- 导入初始化数据
mysql -u root -p student< backend/student.sql
在backend
目录创建.env
文件:
# MySQL 配置PROD_DATABASE_URI=mysql+pymysql://student:Dingtalk1234561017@192.168.10.115:3306/student?charset=utf8mb4ADMIN_API_KEY=1017DB_HOST=192.168.10.115DB_USER=studentDB_PASSWORD=Dingtalk1234561017DB_NAME=student
cd backendflask run --host=0.0.0.0 --port=5000
修改fronted/src/index.js:13
中的http://192.168.10.115:5000
改为开发服务器地址
10|exportconstapi=axios.create({11|baseURL:import.meta.env.PROD12| ?'/api'13| :'http://192.168.10.115:5000/api'14|})
cd frontednpm installnpm run dev
后端生产环境部署使用gunicorn
启动命令:
../venv/bin/python3 -m gunicorn -w 4 -b<adderss>:<port> wsgi:app
首次运行前需确保:
- MySQL服务已启动并开放3306端口
- 已安装所有依赖包(前端npm / 后端pip)
- 数据库账号有建表权限
生产部署建议:
- 使用Gunicorn部署Flask应用
- 配置Nginx反向代理
- 启用HTTPS加密传输
- 定期备份数据库
欢迎提交 Issue 或 PR,请遵循以下规范:
- 新功能开发请新建分支(feat/xxx)
- Bug修复请关联具体Issue编号
- 提交前执行代码格式化(前端ESLint / 后端Black)
MIT License © 2025 Shan Chenyu