功能介绍
技术栈:SSM+vue+mysql+java
spring,spring mvc,mybatis,layui
客户备注:
(1)每位教师的主讲课程门数不超过2门学期:讲师以下职称的教师不能承担学院定主课的主讲任务
(2)学院中层干部的主讲课时不能超过4学时/周
(3)本学期出现严重教学事故的教师不能承担下各学期的主讲任务
(4)本系统的输入项至少包括:教务处布置的教学计划,学院教师自报的授课计划和学院定的有关授课限制条件
(5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各班级下各学期的课程表(可以不含上课地点)
详细功能需求描述(必填):(请尽可能详细填写要求 因为我们定做都是按照要求来定做
学生
登录注册:学生可以创建账户,并通过账号登录系统。
我的收藏:学生可以收藏感兴趣的课程,方便后续查看。
个人中心:展示学生的个人信息,如姓名、专业等。
公告信息:查看学院发布的最新公告。
课表信息:查看个人的课程安排。
自动排课:根据智能算法进行排课。
课程内容信息:获取课程的详细内容,包括教学大纲、教材等。
首页:展示系统的主要功能和导航。
课程成绩信息:查看自己的课程成绩。
学生选课:在线选择想要学习的课程。
在线咨询:向教师或管理员提出问题,获取帮助。
学院
首页:系统功能总览。
登录:管理员账号登录。
个人中心:展示管理员的个人信息。
教师管理、学生管理、教学任务管理、教学安排管理、调课申请管理。
公告信息管理:发布、修改、删除公告信息。
学院排课管理:安排学院的课程表,确保满足特定要求(教师主讲课程门数限制、中层干部教师课时限制、防止出现教学事故的教师承担主讲任务)。
学院管理:管理学院的基本信息。
专业管理:设置和修改专业信息。
教师管理:管理教师的信息,包括主讲课程门数和课时限制等。
课程名称管理:添加、修改、删除课程名称。
课表信息管理:编排和调整课表。
课程信息管理:管理课程的详细信息。
听课公告管理。
教室管理:安排和管理教室使用情况。
教师
首页:功能导航和系统公告。
个人信息管理:更新个人信息和资料。
排课管理:根据学院安排,对自己负责的课程进行时间安排。
注册登录。
教学安排管理。
教学计划管理。
系统实现截图
IntelliJ IDEA开发工具
IntelliJ IDEA以其智能的代码补全、强大的静态代码分析和灵活的项目管理系统而著称。它支持Java语言的所有最新特性,同时也提供了对Spring、Hibernate、Vue.js等流行框架和技术的深度集成。这使得开发者可以在一个统一的环境中完成从代码编写、调试到部署的整个开发流程。
springboot文件解析
Spring Boot 是 Spring 家族中的一个全新的框架,它用来简化Spring应用程序的创建和开发过程。也可以说 Spring Boot 能简化我们之前采用SSM(Spring MVC + Spring + MyBatis )框架进行开发的过程。config:主要用来存储配置文件,以及其他不怎么动用的信息
controller:项目的主要控制文件
dao: 主要用来操作数据库
entity: 实体,用来放与数据库表里对应的实体类,表中的字段对应类中的属性值,并附有set/get方法
exception:异常处理类
service:主要实现的方法
—impl 实现类
接口:尚未实现的方法,在对应的ipml中实现
util: 工具类
application.properties:项目配置信息
技术介绍
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。
jdk版本:jdk1.8+
前端:vue.js+ElementUI
开发工具:IDEA 或者eclipse都支持
编程语言: java
框架支持:springboot/ssm/springcloud分布式微服务
数据库: mysql 版本不限
数据库工具:Navicat/SQLyog都可以
开发步骤编译运行
(1) 创建好数据库并导入,
(2) 创建后台Springboot三层架构(controller,service,mapper层)并启动测试
(3) 导入并编译前端代码vue:网站和后台管理
编译:npm install
试运行:npm run dev
核心代码部分展示
@RequestMapping("users")
@RestController
public class UsersController{
@Autowired
private UsersService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UsersEntity user){
if(userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
详细视频演示
请联系我获取更详细的演示视频
源码获取
文章下方名片联系我即可~