liujijiang

课程设计-学生成绩管理系统

2020.07.27

学生成绩管理系统

大三课程设计,如果你的课程设计也是这个题目,可以拿来参考。

线上体验地址: sdut.redarm.cn 用户名:admin 密码:123

前端地址

后端地址

实现的功能

  • 学生成绩管理
  • 学生信息管理
  • 学院管理
  • 课程管理
  • 教师管理
  • 用户管理
  • 权限管理
  • 邮件系统
  • 导出Excel

使用的技术

项目采用前后端分离开发

后端语言java,主要框架SpringBoot,安全框架SpringSecurity,持久层框架SpringDatajpa。

前端框架Vue,组件库ElementUI,发HTTP请求Axios,图表V-Charts。

数据库MySQL和Redis

运行截图

iShot2020-07-24上午08.01.14-1f6974061bbc4a259e366b91e2e14831

iShot2020-07-24上午08.01.24-a00ff627d38a4f9aa6950c1d3d7fffc1

iShot2020-07-24上午08.01.31-1ef890b5c81c419da3c1fc5058a51cb7

iShot2020-07-24上午08.01.43-916e8c7455e049129b98277ccad7b0f7

运行

后端:

新建一个MySQL数据库,名字为scoreDB,在这个数据库中运行项目中的scoreDb.sql文件。

系统启动时会首先加载 ~/.scoreManager 文件夹下的application.xml 配置文件,如果没有会加载系统的 src/main/resources/application.yml 配置文件。

所以如果你想在idea或者eclipse中运行此项目,导入之后需要修改src/main/resources/application.yml配置文件。

必须配置的有MySQL数据库的配置,redis数据库的配置,mail邮箱的配置,邮箱我使用的是qq邮箱,如果使用别的邮箱需要更改 host

前端:

安装环境:需要安装node,node中带有npm,然后安装vue-cli。

参考文章
参考文章

项目管理器中导入前端项目:

iShot2020-07-25下午04.05.05-24a40254cfb04210b9790e4bb405a08b

然后运行:

iShot2020-07-25下午04.13.35-8b86c31db36846008e85c399e4822a68

可以使用vs打开文件编写代码

部分操作可以参考这篇文章

部署

介绍分离部署方法:

部署后端:

打包

mvn clean package

项目打成jar包,这个如论是你的本地开发机器还是你的服务器只要装了java环境就可以直接使用 java -jar [jar包] 的方式部署。

如果你安装了docker,可以使用docker进行部署,参考这篇文章

前端:

需要安装Nginx

首选需要修改前端的一些配置:

可以使用vs打开score-manager-ui

把 main.js 中localhost 改成你的服务器的IP

iShot2020-07-27下午07.47.42-d30e80c83ac44926b51d15fe0cd4ecc1

把 StudentScoreManage.ve 中的483行的localhost改为你的服务器的IP

iShot2020-07-25下午04.10.33-c67422df59594058b358c73f78212a97

把StudentInfoManage.vue中的515行localhost改为你的服务器的IP

iShot2020-07-25下午04.10.47-74f51b664aa846728c3e69d366c76e71

然后运行build进行打包,打包后会在score-manager-ui文件夹下生成dist

iShot2020-07-27下午07.36.40-b6dc186906964bf1a0045a4122b986ad

把dist上传到服务器上,记住路径

添加一个Nginx配置:

linux: 在 /etc/nginx/conf.d 文件夹下新建一个 .conf 配置文件

vim /etc/nginx/conf.d/score.conf

添加配置:

server {
    listen       80;
    server_name  sdut.redarm.cn;

    location / {
        root   /root/vue-projects/student-score-manage-ui/dist;
        index  index.html index.htm;
    }
    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

其中:

server_name 需要改成你的域名

root 需要改成你的dist文件地址

然后保存退出编辑

检查配置是否有错:

nginx -t

重启Nginx配置:

nginx -s reload

然后就可以通过你的域名也就是上面的server_name访问你的项目了

总结

课程设计只给了三个星期实现,第三个星期答辩,而且是一个人一组,哎~~,时间很紧。

做这个项目的时候技术还不是很成熟,因为就业想选择后端,所以前端只学了一点,也就是能用的地步,所以页面做的比较丑。

后端写的也不好,项目写完了一看,有很多冗余的地方,而且service之间的调用都忘了这码事了。

项目有很多不足,其中答辩的时候老师也指出来了比如图表不应该显示一个学院的所有课程,一个学院实际情况可能会有一百多个课程,根本显示不了。学号应该由系统自动生成等。

学到了很多东西吧,主要就是对Springdatajpa这个框架跟熟悉了,特别是对一对多,多对多表之间的联合创建和操作。

详细编码设计报告