系统使用技术:springboot
前端技术:thymeleaf、js、css、html页面
开发工具:idea
数据库:mysql5.7
项目介绍:
该系统基于springboot,mysql数据库,页面美观,具有完整的业务逻辑。
功能详情:
用户学生的功能: (1)首页轮播图展示最新课程通知或考研资讯; (2)分模块展示相关课程,比如公共课模块、专业课模块、免费课模块等,进去模块分页显示课程; (3)搜索课程,用户输入指定课程的关键字,可以搜索查询到课程,可以根据课程类别有条件搜索; (4)课程详细展示,主要包括老师信息和课程详细信息,一个课程有多个视频; (5)用户登陆; (6)发布自己的学习资源,管理员审核通过后前台显示,获得积分; (7)相关收费课程下单购买 后台 管理员的功能: (1)管理员登录; (2)课程管理,可发布免费或者试听课程; (3)课程类别管理; (4)用户管理; (5)授课老师管理; (6)订单管理,查询订单; (7)菜单管理,进行导航栏管理; (8)轮播图片管理; 教师: (1)发布课程通知; (2)上传课程和资料等;
部分功能展示:
下面我们来看看部分相关功能。
系统首页:
系统首页2
查看或者搜索课程
可以按照分类搜索
课程详情
查看课程的介绍和课程目录,课程目录中可以看视频
查看用户发布的课程
查看用户发布的课程
个人中心
查看个人资料
我的订单
查看个人购买vip的订单
后台-登录
管理员或者教师登录
后台-菜单管理
对菜单进行管理
后台-角色管理
对角色信息管理,并赋权等
后台-课程管理
对课程管理,可以新增视频,或者将课程加入到其他分类中
后台-轮播图
动态添加轮播图
后台-类别管理
对类别操作
部分代码:
/** * 用户登录 */ @ResponseBody @PostMapping("/login") public JsonResult login(String username, String password, String code, Boolean remember, HttpServletRequest request) { if (username == null || username.trim().isEmpty()) return JsonResult.error("请输入账号"); if (!CaptchaUtil.ver(code, request)) { loginRecordService.saveAsync(username, LoginRecord.TYPE_ERROR, "验证码错误", request); return JsonResult.error("验证码不正确"); } try { if (remember == null) remember = false; SecurityUtils.getSubject().login(new CustomizedToken(username, password, remember,"Admin")); loginRecordService.saveAsync(username, request); return JsonResult.ok("登录成功"); } catch (IncorrectCredentialsException ice) { loginRecordService.saveAsync(username, LoginRecord.TYPE_ERROR, "密码错误", request); return JsonResult.error("密码错误"); } catch (UnknownAccountException uae) { loginRecordService.saveAsync(username, LoginRecord.TYPE_ERROR, "账号不存在", request); return JsonResult.error("账号不存在"); } catch (LockedAccountException e) { loginRecordService.saveAsync(username, LoginRecord.TYPE_ERROR, "账号被锁定", request); return JsonResult.error("账号被锁定"); } catch (ExcessiveAttemptsException eae) { loginRecordService.saveAsync(username, LoginRecord.TYPE_ERROR, "操作频繁", request); return JsonResult.error("操作频繁,请稍后再试"); } } /** * 登录页 */ @GetMapping("/login") public String login() { if (getLoginUser() != null) return "redirect:index"; return "login.html"; } /** * 主页 */ @RequestMapping({"/", "/index"}) public String index(Model model) { // 左侧菜单 List<Menu> menus = menuService.getUserMenu(getLoginUserId(), Menu.TYPE_MENU); model.addAttribute("menus", menuService.toMenuTree(menus, 0)); return "index.html"; }
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,而且也与当前的热点话题关联,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,比较适合毕业设计和课程设计的相关应用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~