基于SpringBoot的程序教学辅助系统
一、项目简介
本系统是一套面向高校 C 程序设计课程的前后端分离辅助教学平台。后端采用 Spring Boot、MyBatis、JWT 和 MySQL,前端采用 Vue、Element UI 与 ECharts;平台围绕课程、团队、作业、提交、成绩和公告等教学环节,重点支持团队协作模式下的小组作业与过程管理。
项目实际包含认证、课程、团队、提交、公告、用户及其对应的管理员控制器;前端分为用户端和管理端布局,包含学生课程、团队、作业、提交、公告、个人中心,以及管理员看板、课程、团队、作业、提交、用户和公告页面。
二、系统功能
1.1 学生端功能
注册登录与个人资料
学生可通过登录入口进入系统,并在个人资料页面维护基础信息。JWT 拦截器用于控制课程、团队、作业提交等需要登录的接口访问。
课程信息浏览
学生可在 CoursePage.vue 浏览课程信息、课程介绍和相关教学内容。课程模块为学生后续查看作业、加入团队和提交成果提供课程归属。
团队创建与成员协作
学生可在 TeamPage.vue 创建团队、加入团队或查看团队成员信息。团队模块将学生与小组作业关联,使课程实践能够以团队为单位完成分工和成果提交。
作业查看与提交
学生可在 AssignmentPage.vue 查看作业要求、截止时间和作业类型,并在 SubmissionPage.vue 提交个人或团队作业。提交模块保存历史提交记录,便于学生后续查询提交状态、成绩和教师反馈。
公告与个人学习面板
学生可在公告页面查看课程或系统通知,并通过用户端 Dashboard 了解与本人相关的课程、团队和作业信息。








1.2 管理员端功能
教学数据看板
AdminDashboard.vue 汇总课程、团队、作业、提交和用户等教学数据,结合 ECharts 展示统计信息,帮助教师或管理员了解课程运行情况。
课程与作业管理
管理员可在 AdminCourses.vue 维护课程资料,在 AdminAssignments.vue 发布、修改和管理作业。作业配置完成后,学生端可按课程查看相应任务和提交要求。
团队与提交评阅
管理员可通过 AdminTeams.vue 查询团队与成员关系,通过 AdminSubmissions.vue 查看学生或团队提交的作业,填写成绩与评语并完成评阅反馈。
用户与公告管理
管理员可在 AdminUsers.vue 维护用户账号和状态,在 AdminAnnouncements.vue 发布、编辑和管理教学公告,及时向学生传递课程安排和作业通知。







三、技术栈
| 层级 | 技术 | 说明 |
|---|---|---|
| 后端 | Java 8、Spring Boot 2.7.18 | 教学业务接口 |
| 数据访问 | MyBatis、MySQL 8.0 | 用户、课程、团队、作业和提交数据存储 |
| 身份认证 | JWT | 登录与接口权限控制 |
| 前端 | Vue 2、Vue Router、Vuex、Element UI、Axios | 用户端与管理端页面 |
| 数据可视化 | ECharts | 管理端教学数据统计 |
四、项目结构
bash
c160/
├── database/
│ ├── init.sql # 建表脚本
│ └── data.sql # 初始化数据
├── backend/src/main/java/
│ └── controller/
│ ├── AuthController.java
│ ├── CourseController.java
│ ├── TeamController.java
│ ├── SubmissionController.java
│ ├── AnnouncementController.java
│ ├── UserController.java
│ └── admin/ # 课程、团队、提交、用户和公告管理接口
├── frontend/src/
│ ├── views/ # 课程、团队、作业、提交、公告、个人中心
│ └── views/admin/ # 看板、课程、作业、团队、提交、用户、公告
└── README.md
五、环境要求
- JDK 8
- Maven 3.6+
- MySQL 8.0
- Node.js 12+
- npm
六、数据库初始化
按顺序导入 database/init.sql 与 database/data.sql,随后根据本机环境修改后端数据源配置。
bash
mysql -u root -p --default-character-set=utf8mb4 < database/init.sql
mysql -u root -p --default-character-set=utf8mb4 < database/data.sql
七、后端启动
bash
cd backend
mvn spring-boot:run
八、前端启动
bash
cd frontend
npm install
npm run serve
九、默认账号
项目未提供可确认的默认账号,请以 database/data.sql 中的初始化数据为准。
十、业务流程说明
9.1 团队作业教学流程
管理员先创建课程并发布作业,设置作业要求和相关信息。学生进入课程后创建或加入团队,团队成员查看作业任务并按照分工完成个人或团队成果提交。
提交记录进入管理员端,教师或管理员查看内容、进行评阅并填写成绩与评语;学生在提交页面查询审核或评阅结果,从而完成课程、团队、作业、提交与反馈闭环。
9.2 教学公告与运营流程
管理员发布课程公告后,学生在公告页面查看最新通知。管理端看板汇总课程、团队和提交等数据,管理人员可据此调整课程安排、团队管理和作业发布节奏。
十一、交付内容
- 项目完整源码,包含 Spring Boot 后端与 Vue 前端代码。
- 数据库脚本文件 init.sql 与 data.sql。
- 项目说明文档,包含功能说明、运行环境、初始化和启动步骤。
本项目为个人原创,结构清晰,功能完整,适合课程设计、毕业设计和项目演示使用。有定制化需求可以评论或私信作者。