基于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 | 管理端教学数据统计 |
四、项目结构
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,随后根据本机环境修改后端数据源配置。
mysql-uroot-p--default-character-set=utf8mb4<database/init.sql mysql-uroot-p--default-character-set=utf8mb4<database/data.sql七、后端启动
cdbackend mvn spring-boot:run八、前端启动
cdfrontendnpminstallnpmrun serve九、默认账号
项目未提供可确认的默认账号,请以database/data.sql中的初始化数据为准。
十、业务流程说明
9.1 团队作业教学流程
管理员先创建课程并发布作业,设置作业要求和相关信息。学生进入课程后创建或加入团队,团队成员查看作业任务并按照分工完成个人或团队成果提交。
提交记录进入管理员端,教师或管理员查看内容、进行评阅并填写成绩与评语;学生在提交页面查询审核或评阅结果,从而完成课程、团队、作业、提交与反馈闭环。
9.2 教学公告与运营流程
管理员发布课程公告后,学生在公告页面查看最新通知。管理端看板汇总课程、团队和提交等数据,管理人员可据此调整课程安排、团队管理和作业发布节奏。
十一、交付内容
- 项目完整源码,包含 Spring Boot 后端与 Vue 前端代码。
- 数据库脚本文件 init.sql 与 data.sql。
- 项目说明文档,包含功能说明、运行环境、初始化和启动步骤。
本项目为个人原创,结构清晰,功能完整,适合课程设计、毕业设计和项目演示使用。有定制化需求可以评论或私信作者。
个人网址:https://michael-jay.pages.dev/