miaoyinnu education-system .cursorrules file for Vue

1. 系统模块设计
1.1 学生模块
课表查询:学生可以查看自己的课程安排,包括课程名称、上课时间、地点等。

成绩查询:学生可以查看自己已选课程的成绩。

选课:学生可以浏览可选课程列表,进行选课操作,查看选课结果。

1.2 教师模块
课表管理:教师可以查看自己负责的课程安排,包括课程名称、上课时间、地点等。

成绩管理:教师可以录入、修改和发布自己负责班级的学生成绩。

1.3 管理员模块
排课系统:管理员可以安排课程,包括设置课程名称、选择教师、分配教室、安排上课时间等。

课程管理:管理员可以添加、修改或删除课程信息。

教师管理:管理员可以管理教师信息,包括添加新教师、修改教师信息等。

教室管理:管理员可以管理教室信息,包括添加新教室、修改教室信息等。

用户管理:管理员可以管理用户账户,包括学生、教师账户的创建、权限分配等。

系统维护:管理员可以进行系统设置、数据备份、日志查看等维护操作。

1.4 统计分析模块
成绩统计分析:可以统计分析每门课的成绩情况、教室使用情况、统计每个学生的成绩情况。

成绩异常提醒:成绩低于设定的阈值时,系统会发出预警提醒。

2. 技术栈
前端:Vue.js + Element UI(用于构建用户界面)

后端:Spring Boot + MyBatis(用于处理业务逻辑和数据持久化)

数据库:MySQL(存储学生、教师、课程、成绩等信息)

算法:排课算法(如贪心算法等)

3. 数据库设计
3.1 学生表(Student)
id:学生ID(主键)

name:学生姓名

username:用户名

password:密码

class_id:班级ID(外键)

3.2 教师表(Teacher)
id:教师ID(主键)

name:教师姓名

username:用户名

password:密码

3.3 课程表(Course)
id:课程ID(主键)

name:课程名称

teacher_id:教师ID(外键)

classroom_id:教室ID(外键)

time:上课时间

3.4 成绩表(Grade)
id:成绩ID(主键)

student_id:学生ID(外键)

course_id:课程ID(外键)

score:成绩

3.5 教室表(Classroom)
id:教室ID(主键)

name:教室名称

capacity:教室容量

3.6 用户表(User)
id:用户ID(主键)

username:用户名

password:密码

role:角色(学生、教师、管理员)

4. 后端API设计
4.1 学生模块
获取课表:GET /api/student/timetable

获取成绩:GET /api/student/grades

选课:POST /api/student/select-course

4.2 教师模块
获取课表:GET /api/teacher/timetable

录入成绩:POST /api/teacher/grade

修改成绩:PUT /api/teacher/grade

4.3 管理员模块
排课:POST /api/admin/schedule

添加课程:POST /api/admin/course

管理教师:POST /api/admin/teacher

管理教室:POST /api/admin/classroom

管理用户:POST /api/admin/user

4.4 统计分析模块
成绩统计:GET /api/analysis/grades

成绩预警:GET /api/analysis/grade-alert

5. 前端页面设计
5.1 学生页面
课表查询页面:展示学生的课程安排。

成绩查询页面:展示学生的成绩。

选课页面:展示可选课程列表,学生可以进行选课操作。

5.2 教师页面
课表管理页面:展示教师的课程安排。

成绩管理页面:教师可以录入、修改和发布成绩。

5.3 管理员页面
排课页面:管理员可以安排课程。

课程管理页面:管理员可以添加、修改或删除课程信息。

教师管理页面:管理员可以管理教师信息。

教室管理页面:管理员可以管理教室信息。

用户管理页面:管理员可以管理用户账户。

5.4 统计分析页面
成绩统计页面:展示每门课的成绩情况、教室使用情况等。

成绩预警页面:展示成绩异常的学生名单。
css
html
java
javascript
mysql
spring
vue
vue.js

First Time Repository

Vue

Languages:

CSS: 0.7KB
HTML: 0.3KB
Java: 102.0KB
JavaScript: 15.9KB
Vue: 158.8KB
Created: 1/6/2025
Updated: 1/7/2025

All Repositories (1)