学生成绩管理系统
大三课程设计,如果你的课程设计也是这个题目,可以拿来参考。
线上体验地址: sdut.redarm.cn 用户名:admin 密码:123
实现的功能
- 学生成绩管理
- 学生信息管理
- 学院管理
- 课程管理
- 教师管理
- 用户管理
- 权限管理
- 邮件系统
- 导出Excel
使用的技术
项目采用前后端分离开发
后端语言java,主要框架SpringBoot,安全框架SpringSecurity,持久层框架SpringDatajpa。
前端框架Vue,组件库ElementUI,发HTTP请求Axios,图表V-Charts。
数据库MySQL和Redis
运行截图
运行
后端:
新建一个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。
项目管理器中导入前端项目:
然后运行:
可以使用vs打开文件编写代码
部署
介绍分离部署方法:
部署后端:
打包
mvn clean package
项目打成jar包,这个如论是你的本地开发机器还是你的服务器只要装了java环境就可以直接使用 java -jar [jar包] 的方式部署。
如果你安装了docker,可以使用docker进行部署,参考这篇文章。
前端:
需要安装Nginx
首选需要修改前端的一些配置:
可以使用vs打开score-manager-ui
把 main.js 中localhost 改成你的服务器的IP
把 StudentScoreManage.ve 中的483行的localhost改为你的服务器的IP
把StudentInfoManage.vue中的515行localhost改为你的服务器的IP
然后运行build进行打包,打包后会在score-manager-ui文件夹下生成dist
把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这个框架跟熟悉了,特别是对一对多,多对多表之间的联合创建和操作。