虽然网上的作业管理系统,课程管理系统已经很多了,但是在毕业一个月后还是决定将自己的毕业设计做的一个小系统发布到csdn上。
做毕业设计之前,自己也在网上逛了很久,成品的项目比较少,可能是担心个人成果被他人拿去获取利益,或者他们只是上传github和码云没有做过多的分享。但是现在springcloud用的越来越多,学习java必然都会学习到springcloud中,没有成品资源向临摹也得查找大量的资料(有些知识点就是学习了很多大佬的博客自己总结出来的),所以把自己的这个小项目发出来,希望能够帮到java初学者。这里只做项目的简介以及github地址,项目中具体涉及的一些功能和知识点后期有时间可能会发出来,如果有问题的文章末尾会放上联系方式。
因为是二十天赶出来的项目,里面很多东西就是能凑就凑,特别是前端部分,没有做代码规范和审查,仅仅是功能和页面达到了要求,上传github以后一堆warn,但是毕业后直接工作确实没有办法重构,如果有大佬能够帮忙就先在此谢过了。
项目界面展示(提早对对眼缘)






图有点糊,大家将就看吧
系统后端采用springcloud,注册中心使用的是consul,缓存采用redis,因为配置了redis所以要先启动redis才能启动项目,否则启动报错。jdk采用1.8,应该是可以兼容11的,但建议使用1.8,redis版本建议2.8.9+。
## Redis 配置
## Redis数据库索引(默认为0)
spring.redis.database=1
## Redis服务器地址
spring.redis.host=127.0.0.1
## Redis服务器连接端口
spring.redis.port=6379
## Redis服务器连接密码(默认为空)
spring.redis.password=
## 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=8
## 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1
## 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
## 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
## 连接超时时间(毫秒)
spring.redis.timeout=1200
后面因为开发和测试方便,redis使用场景不多,而且都写入了aop,后期因为演示需要把aop注解取消了,具体的可以自己看一下,不需要就删除。
系统采用的日志是springboot自带的@Slf4j,不用@Slf4j2是因为懒得配。
后端有四个模块,分别为学生、教师、管理员以及公共模块。

- pd-common公共模块是所有模块的基础,必须拥有公共模块才能正常启动教师和学生模块,因为这两个模块都调用了公共模块中的服务,采用了feign,但是没有写熔断,所以不起公共模块其他的模块启动会熔断报错。公共模块提供功能有:文件上传、登录记录、完整的论坛模块服务。
github地址:pd-common - pd-stu学生模块,管理学生的一切事宜,提供例如上传作业、加入退出课程,学习课程,下载课程附件,个人信息修改等后端接口。
github地址:pd-student - pd-teacher教师模块,管理教师的后端模块,提供创建、删除课程及作业,编辑课程内容等功能。
github地址:pd-teacher - pd-manage管理员模块,管理账号的启用禁用,以及创建学生账号和教师账号。
github地址:pd-manage
后端中部分技术有:poi插件,自写的分页逻辑,使用阿里云的对象oss上传等,具体更多的待后期复盘时详细说。
前端代码使用的是vue+element-ui,没有做统一代理转发,访问接口地址统一是localhost+端口,使用时要注意跨域问题(纯本地无需关注)。前端服务器采用的是node.js,启动命令是npm run dev,ide使用的hbuilderx,可能和vscode的vue项目结构不太一样。
页面基本上是组件拼凑的,部分地方使用了route路由。
github地址:pd-ui
代码中注释比较少,我会在近期加上部分注释上传到github。
具体代码展示会在后期复盘时进行具体展示,数据库的sql文件会随common模块上传,项目中使用的是mysql8.0。
如果后面有代码复盘详细,我会把具体的放在文章顶部。
联系方式:QQ870548227,请各位大佬批评指正!
本文介绍了一个使用SpringCloud、Vue.js和Element开发的作业及课程管理系统。项目包括学生、教师、管理员和公共四个模块,前端基于Vue和Element-UI,后端采用SpringCloud,注册中心为Consul,缓存使用Redis。开发者分享了项目的GitHub地址,以及各模块的功能和涉及的技术,如文件上传、分页逻辑和阿里云OSS。同时指出前端存在跨域问题,代码注释较少,将在后续完善。
907





