项目简介
本项目是一套面向高校 C 程序设计课程场景的辅助教学管理系统,围绕"团队协作学习"这一教学模式进行设计与实现。系统将课程管理、作业发布、团队组建、作业提交、成绩评阅、公告通知等教学环节整合到统一平台中,既能满足学生日常学习与协作需求,也便于教师或管理员完成课程组织与教学管理。
相较于传统的单人作业管理方式,本系统强调团队模式下的分工协作与成果提交,适用于课程实践、阶段项目、小组作业与课堂教学管理等场景。
核心功能介绍
学生端功能
- 用户注册、登录与个人信息维护
- 浏览课程信息与课程介绍
- 创建团队、加入团队、查看团队成员
- 查看作业要求、截止时间与作业类型
- 提交个人作业或团队作业内容
- 查看历史提交记录、成绩与评语反馈
- 查看系统公告与课程公告
管理端功能
- 用户信息管理与账号状态维护
- 团队信息管理与团队成员管理
- 课程信息维护与课程状态管理
- 作业发布、修改、关闭与分类管理
- 作业提交记录查看与成绩评阅
- 公告发布、更新与状态管理
- 首页数据统计与教学信息集中展示
技术栈介绍
| 层级 | 技术方案 | 说明 |
|---|---|---|
| 前端 | Vue 2、Vue Router、Vuex、Element UI、Axios、ECharts | 构建用户端与管理端页面,实现路由控制、状态管理、接口请求与数据可视化 |
| 后端 | Java 1.8、Spring Boot 2.7.18、MyBatis、JWT、Lombok | 实现业务逻辑、接口服务、数据访问、登录认证与统一返回结构 |
| 数据库 | MySQL 8.0 | 存储用户、团队、课程、作业、提交记录、公告等核心业务数据 |
| 构建工具 | Maven、Vue CLI | 用于后端依赖管理与前端工程化构建 |
数据库设计
系统数据库名称为 c_teaching,整体结构围绕"用户、团队、课程、作业、提交、公告"六类核心业务对象展开。
核心数据表
| 数据表 | 功能说明 | 关键字段 |
|---|---|---|
| sys_user | 存储系统用户信息 | username、password、real_name、student_no、role、status |
| team | 存储团队基础信息 | name、description、leader_id、max_member、status |
| team_member | 维护团队与用户的多对多关系 | team_id、user_id、role、join_time |
| course | 存储课程信息 | name、description、teacher_id、semester、status |
| assignment | 存储课程作业信息 | course_id、title、content、deadline、type、status |
| submission | 记录作业提交与批阅结果 | assignment_id、user_id、team_id、content、score、comment、status |
| announcement | 存储系统公告与课程公告 | title、content、author_id、type、status |
表关系说明
- 一个用户可以创建或加入多个团队,团队与用户之间通过 team_member 建立关联关系。
- 一个课程可以包含多个作业,course 与 assignment 为一对多关系。
- 一个作业可以对应多条提交记录,assignment 与 submission 为一对多关系。
- 提交记录既可以关联个人用户,也可以在团队作业场景下关联团队信息。
- 公告由系统管理员或课程相关人员发布,通过 type 区分系统公告与课程公告。
业务字段说明
- role:用户角色,0 表示普通用户,1 表示管理员。
- status:用于控制账号、课程、作业、团队、公告等业务对象是否启用。
- type:用于区分作业类型或公告类型,便于按业务场景进行分类处理。
系统特点
- 以团队协作学习为核心,贴合课程项目化教学场景
- 前后端分离实现,结构清晰,便于后续扩展
- 用户端与管理端职责明确,业务边界清楚
- 支持个人作业与团队作业两种模式并行管理
- 数据实体设计完整,能够覆盖课程教学主要流程
适用场景
- 高校 C 程序设计课程教学管理
- 课程实验与项目实践管理
- 小组协作式作业提交与过程跟踪
- 教师发布任务、批阅作业与通知公告
启动教程
运行环境
- JDK 1.8
- Maven 3.6+
- MySQL 8.0
- Node.js 16+
第一步:初始化数据库
在 MySQL 中执行 database/init.sql,系统会自动创建数据库 c_teaching、基础表结构以及默认演示数据。
第二步:配置后端数据库连接
修改 backend/src/main/resources/application.yml 中的数据源配置,保证数据库地址、账号、密码与本地环境一致。
spring: datasource: url: jdbc:mysql://localhost:3306/c_teaching?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: 你的数据库密码
第三步:启动后端项目
进入 backend 目录后执行:
mvn spring-boot:run
后端默认访问地址:
第四步:启动前端项目
进入 frontend 目录后执行:
npm install npm run serve
前端默认访问地址:
第五步:登录系统
系统初始化完成后,可使用以下默认账号登录:
- 管理员账号:admin
- 学生账号:zhangsan
- 默认密码:admin123
默认账号
| 角色 | 用户名 | 密码 |
|---|---|---|
| 管理员 | admin | admin123 |
| 学生用户 | zhangsan | admin123 |
开发作者
| 项目项 | 内容 |
|---|---|
| 开发作者 | Jay |
| 定制联系 | vx:Jay8059 |
| 开发时间 | 2026年 |
| 项目类型 | 基于团队模式的课程辅助教学管理系统 |














