# teaching_media_system **Repository Path**: jsq2021/teaching_media_system ## Basic Information - **Project Name**: teaching_media_system - **Description**: 教学资源管理系统 - **Primary Language**: Java - **License**: Unlicense - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-09 - **Last Updated**: 2026-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 教学媒体系统 这是一个基于Spring Boot和MyBatis Plus的教育媒体管理系统,旨在为教师和学生提供课程信息、作业、考试、新闻、收藏等功能,这个系统的前后端交互采用的是采用的是基于HTTP协议的RESTful API方式 ## 功能概述 - **用户管理**:支持教师和学生的注册、登录、注销以及密码重置。 - **课程管理**:教师可以发布课程信息,包括章节、视频、课件等;学生可以查看并收藏课程。 - **作业管理**:教师可以布置作业,学生可以提交作业,教师可对作业进行评分。 - **考试管理**:教师可以创建试卷,添加题目,学生可以参加考试并查看成绩。 - **成绩管理**:记录学生的考试成绩和作业成绩,并提供成绩分析。 - **新闻公告**:教师可以发布新闻,学生可以查看新闻。 - **互动功能**:包括课程评论、作业讨论、收藏功能等。 - **文件上传**:支持图片、文档等资源的上传与下载。 - **数据统计**:提供数据可视化功能,如图表展示、统计分析等。 ## 技术栈 - 后端:Spring Boot + MyBatis Plus - 数据库:MySQL - 前端:HTML + CSS + Bootstrap + Element UI - 其他:Token认证、文件上传、百度地图API集成、人脸识别接口 ## 安装与部署 ### 后端部署 1. **克隆项目** ```bash git clone https://gitee.com/supervip_on/teaching_media_system.git cd teaching_media_system/back ``` 2. **导入数据库** 使用`config.sql`文件导入数据库结构到MySQL中。 3. **配置数据库连接** 修改`application.yml`中的数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: your_username password: your_password ``` 4. **启动项目** 使用Maven构建并运行Spring Boot项目: ```bash mvn clean install mvn spring-boot:run ``` 5. **访问接口** 后端默认运行在`http://localhost:8080`,可通过浏览器或Postman测试接口。 ### 前端部署 前端页面位于`front`目录,使用HTML/CSS/JS开发,可部署在任意静态服务器上。 1. **部署方式** 可使用Nginx、Apache或Node.js静态服务器部署前端页面。 2. **配置API地址** 修改前端页面中的API请求地址为后端服务地址: ```javascript const API_URL = "http://localhost:8080"; ``` 3. **运行前端** 将`front`目录部署到服务器并访问首页即可。 ## 接口文档 所有接口均返回JSON格式数据,结构如下: ```json { "code": 200, "msg": "操作成功", "data": {} } ``` ### 常用接口示例 #### 用户登录 ```http POST /users/login Content-Type: application/json { "username": "admin", "password": "123456" } ``` #### 获取课程列表 ```http GET /kechengxinxi/list ``` #### 上传文件 ```http POST /file/upload Content-Type: multipart/form-data Form Data: - file: <文件> - type: image ``` ## 数据模型说明 - `jiaoshi`:教师表,存储教师账号信息。 - `xuesheng`:学生表,存储学生账号信息。 - `kechengxinxi`:课程信息表,包含章节、视频、课件等。 - `kechengzuoye`:课程作业表,包含作业内容、附件等。 - `xueshengzuoye`:学生作业提交表,包含学生提交的作业内容。 - `exampaper`:试卷表,包含考试名称、时间等信息。 - `examquestion`:考试题目表,包含题目内容、选项、答案等。 - `examrecord`:考试记录表,记录学生的答题情况和成绩。 - `news`:新闻公告表,用于发布教学相关资讯。 - `storeup`:收藏表,记录用户收藏的课程或作业。 ## 安全与权限 - 使用Token机制进行身份验证。 - 敏感操作(如删除、修改)需携带Token。 - 部分接口(如登录、注册)无需Token。 ## 扩展与二次开发 本项目结构清晰,模块化设计良好,适合进行二次开发。你可以: - 添加新的功能模块(如在线聊天、视频会议) - 扩展课程类型(如直播课程、录播课程) - 集成第三方服务(如支付系统、视频转码服务) ## 贡献指南 欢迎贡献代码!请遵循以下步骤: 1. Fork项目 2. 创建新分支 3. 提交代码 4. 创建Pull Request ## 许可证 本项目采用 MIT 许可证。详情请查看 [LICENSE](LICENSE) 文件。