項目編號: S 050 ,文末獲取源碼。 \color{red}{項目編號:S050,文末獲取源碼。} 項目編號:S050,文末獲取源碼。
目錄
- 一、摘要
- 1.1 項目介紹
- 1.2 項目錄屏
- 二、功能模塊
- 2.1 數據中心模塊
- 2.2 課程檔案模塊
- 2.3 課程資源模塊
- 2.4 課程作業模塊
- 2.5 課程評價模塊
- 三、系統設計
- 3.1 用例設計
- 3.2 數據庫設計
- 3.2.1 課程檔案表
- 3.2.2 課程資源表
- 3.2.3 課程作業表
- 3.2.4 課程評價表
- 四、系統展示
- 五、核心代碼
- 5.1 新增課程評價
- 5.2 生成課程作業
- 5.3 新增課程資源
- 5.4 查詢課程
- 5.5 新增課表
- 五、免責說明
一、摘要
1.1 項目介紹
基于JAVA+Vue+SpringBoot+MySQL的智能教學資源庫系統,包含了課程管理、資源中心、授課中心、作業發布、課程評價、課程質量分析模塊,還包含系統自帶的用戶管理、部門管理、角色管理、菜單管理、日志管理、數據字典管理、文件管理、圖表展示等基礎模塊,智能教學資源庫系統基于角色的訪問控制,給高校管理員、教師和學生角色使用,可將權限精確到按鈕級別,您可以自定義角色并分配權限,系統適合設計精確的權限約束需求。
1.2 項目錄屏
源碼下載
二、功能模塊
近年來,計算機技術、網絡技術的迅猛發展,給傳統辦學提供了新的模式。絕大部分大學和學院都已介入互聯網領域,并建成校園網,各校的硬件設施也已經比較完善。通過設計網絡拓撲架構、數據庫基礎結構,建設網絡安全系統、信息共享與管理系統、信息的發布與管理系統,方便了管理者、老師和學生間的信息發布、信息交流和信息共享。以現代計算機技術、網絡技術為基礎的數字化教學,主要是朝著信息化、網絡化、現代化的目標邁進。
本文設計的課程資源庫管理系統的包括了系統數據中心模塊,用來存放管理系統通用的模塊,另外分別設計了課程檔案模塊、課程資源模塊、課程作業模塊、課程評價模塊、授課管理模塊和學習質量分析模塊這六大模塊,用于存放系統的核心業務邏輯。
2.1 數據中心模塊
數據中心模塊包含了對課程資源庫管理系統的基礎模塊,比如管理誰可以登錄這套系統,記錄這些人登錄系統做了什么,不同的人擁有不同權限的管理。
2.2 課程檔案模塊
課程檔案模塊用于對課程的數據進行管理,其中包括課程標題、課程介紹、課程圖片、課程狀態、創建人、創建時間、更新人、更新時間等,可以通過此模塊對課程數據進行添加、編輯更新、刪除、查詢操作。
2.3 課程資源模塊
課程資源管理模塊是對課程的資源信息進行管理,課程有了資源才能更好的被學生所接受,課程資源的字段包括課程ID、課程名稱、資源名稱、文件、創建人、創建時間、更新人、更新時間等,教師可以新增課程的資源數據,學生可以查詢教師發布的課程資源信息。
2.4 課程作業模塊
課程作業模塊是為了管理課程的作業數據,有了課程后,教師可以發布指定課程的作業數據,支持一鍵生成課程作業,其中課程作業的字段包括課程ID、課程名稱、作業名稱、作業附件、完成附件、學生ID、學生姓名、創建人等,教師可以增加、刪除、編輯和條件查詢課程作業,學生可以提交屬于自己的作業數據。
2.5 課程評價模塊
課程評價模塊是維護關于課程的評價信息,學生學習完課程后,可以對課程進行評價,撰寫評語,以便于改進課程的質量。其中課程評價字段包括課程ID、課程名稱、評價人、評價內容、評價時間、備注、創建人、創建時間等,學生可以增加、刪除、編輯和條件查詢自己的課程評價,教師可以查詢課程的評價內容。
三、系統設計
3.1 用例設計
3.2 數據庫設計
3.2.1 課程檔案表
3.2.2 課程資源表
3.2.3 課程作業表
3.2.4 課程評價表
四、系統展示
五、核心代碼
5.1 新增課程評價
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "添加課程評價")
public Result<Object> addOne(@RequestParam String id,@RequestParam String content){Curriculum curriculum = iCurriculumService.getById(id);if(curriculum == null) {return ResultUtil.error("課程不存在");}User currUser = securityUtil.getCurrUser();Appraise a = new Appraise();a.setCurriculumId(curriculum.getId());a.setCurriculumName(curriculum.getTitle());a.setUserId(currUser.getId());a.setUserName(currUser.getNickname());a.setContent(content);a.setTime(DateUtil.now());iAppraiseService.saveOrUpdate(a);return ResultUtil.success();
}
5.2 生成課程作業
@RequestMapping(value = "/create", method = RequestMethod.GET)
@ApiOperation(value = "生成課程作業")
public Result<Assignment> create(@RequestParam String id,@RequestParam String title,@RequestParam String file){Curriculum curriculum = iCurriculumService.getById(id);if(curriculum == null) {return ResultUtil.error("課程不存在");}// 刪除原作業QueryWrapper<Assignment> assQw = new QueryWrapper<>();assQw.eq("curriculum_id",curriculum.getId());iAssignmentService.remove(assQw);// 查詢所有授課QueryWrapper<Timetable> tQw = new QueryWrapper<>();tQw.eq("curriculum_id",curriculum.getId());List<Timetable> timetableList = iTimetableService.list(tQw);for (Timetable t : timetableList) {Assignment a = new Assignment();a.setCurriculumId(curriculum.getId());a.setCurriculumName(curriculum.getTitle());a.setTitle(title);a.setFile1(file);a.setFile2("");a.setUserId(t.getUserId());a.setUserName(t.getUserName());iAssignmentService.saveOrUpdate(a);}return ResultUtil.success();
}
5.3 新增課程資源
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增資源")
public Result<CourseResources> insert(CourseResources courseResources){Curriculum c = iCurriculumService.getById(courseResources.getCurriculumId());if(c == null) {return ResultUtil.error("課程不存在");}courseResources.setCurriculumName(c.getTitle());iCourseResourcesService.saveOrUpdate(courseResources);return new ResultUtil<CourseResources>().setData(courseResources);
}
5.4 查詢課程
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查詢課程")
public Result<IPage<Curriculum>> getByPage(@ModelAttribute Curriculum curriculum ,@ModelAttribute PageVo page){QueryWrapper<Curriculum> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(curriculum.getTitle())) {qw.like("title",curriculum.getTitle());}if(!ZwzNullUtils.isNull(curriculum.getContent())) {qw.like("content",curriculum.getContent());}if(!ZwzNullUtils.isNull(curriculum.getStatus())) {qw.eq("status",curriculum.getStatus());}IPage<Curriculum> data = iCurriculumService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Curriculum>>().setData(data);
}
5.5 新增課表
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增課表")
public Result<Timetable> insert(Timetable timetable){Curriculum c = iCurriculumService.getById(timetable.getCurriculumId());if(c == null) {return ResultUtil.error("課程不存在");}timetable.setCurriculumName(c.getTitle());User u = iUserService.getById(timetable.getUserId());if(u == null) {return ResultUtil.error("學生不存在");}timetable.setUserName(u.getNickname());User currUser = securityUtil.getCurrUser();timetable.setWorkUser(currUser.getNickname());iTimetableService.saveOrUpdate(timetable);return new ResultUtil<Timetable>().setData(timetable);
}
五、免責說明
- 本項目僅供個人學習使用,商用授權請聯系博主,否則后果自負。
- 博主擁有本軟件構建后的應用系統全部內容所有權及獨立的知識產權,擁有最終解釋權。
- 如有問題,歡迎在倉庫 Issue 留言,看到后會第一時間回復,相關意見會酌情考慮,但沒有一定被采納的承諾或保證。
下載本系統代碼或使用本系統的用戶,必須同意以下內容,否則請勿下載!
- 出于自愿而使用/開發本軟件,了解使用本軟件的風險,且同意自己承擔使用本軟件的風險。
- 利用本軟件構建的網站的任何信息內容以及導致的任何版權糾紛和法律爭議及后果和博主無關,博主對此不承擔任何責任。
- 在任何情況下,對于因使用或無法使用本軟件而導致的任何難以合理預估的損失(包括但不僅限于商業利潤損失、業務中斷與業務信息丟失),博主概不承擔任何責任。
- 必須了解使用本軟件的風險,博主不承諾提供一對一的技術支持、使用擔保,也不承擔任何因本軟件而產生的難以預料的問題的相關責任。