Skip to content

iwts/SpringBoot-Vue-Web-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpringBoot-Vue-Web-Project

基于 Spring Boot+Vue 的一个Web项目。利用 Nginx 反向代理来达成前后端分离。前端就是Vue,后端基于Spring Boot。

项目在Windows以及Linux上部署都已成功。80端口开放给Nginx,8080给Tomcat,在项目的CONF文件夹下给出了Linux和 Windows下nginx.conf文件的具体内容。Spring Boot集成了Tomcat,所以在Linux下是用了jar包。

持久化框架使用 MyBatis,在 Spring Boot 下集成也比较方便,数据池使用阿里的 druid。

MySQL 作为主存储数据库,同时使用 Redis 做缓存以及消息推送等。

项目内容

因为没有画 UML 只能描述了。是实验室内部工作项目发布参与系统,学生可以发布工作,可以参与工作。同时可以分析完成 程度、个人贡献等信息。将完成的内容压缩成压缩包上传。并且可以任意下载,方便工作发起者审核。管理员登录后可以查看 全部的工作信息以及参与者状态完成情况。

学生能够看到当前进行中的工作,以及自己参与的工作。工作截止日期到了之后,也可以查看,类似历史工作。查看内容 会显示所有参加者的完成信息以及效绩分析,例如:已完成、未完成、请假之类的,工作时长,任务完成程度等。并且有 简单的人数统计。

工作参与者可以对一些重要的内容发起消息推送。使用 Redis 做消息队列。敏感词之类的,算法已ok,敏感词典还需要构建。

项目后期需要更新内容

当然整体是完成的,能够使用。只是希望以后实验室的学弟学妹能维护优化:

  1. 项目的前端完全没有碰。前端蛮重要的,我是一点渲染都没有,一点css都没写(index.html那一点点不算)。

  2. 因为我本身不搞前端, Vue 代码直接写在对应的 html 里面,利用 axios 与后端API交互,这些都是必要的代码。其他渲染等需要真正搞前端的好好整理整理。

  3. 安全性不够好。没有仔细研究安全性相关。思想还停留在前后端不分离的基础上。前端使用 URL 就能访问到一些不应该访问的页面,而禁止访问的方式仅仅是是使用 JavaScript 是不够的。后端虽然写了 Interceptor,但是因为开发等问题,目前是禁用状态。
    学弟学妹们可以看看 Spring Security 相关内容,看能不能解决这个问题。

  4. 项目内容第一批基本内容已经写完了,消息推送还在测试,没有发布。效绩分析等虽然有这个想法,但是不知道具体应该分析些什么。或者是不是根本不需要这个功能。

  5. session处理。目前session使用已经在减少,但是session跨域我没有去解决,所以只能前后端分开使用各自的 session。目前是这样处理,但是之后是要考虑 token 等技术。

  6. 在 Linux 下使用 jar 包部署,说真的我个人不太喜欢,因为这样跟服务器上 tomcat 分开了。并且重启时还需要重新运行jar。不如 war 包更像“部署”。

关于服务器

不知道在实验室以后使用率怎么样,服务器是DO的,日后可能会考虑迁移。负载均衡上使用 Nginx,目前配置没问题,但是因为没有额外的服务器所以搭建不起来集群

关于疑问跟错误

当然还是可以喷的,哈哈,毕竟自己的问题,挨打要立正,当然仅限技术上。如果要维护,有不清楚的内容可以发邮件,提出问题 可以直接在 GitHub 上提交 issue 进行,也可以发邮件:[email protected]

About

基于Spring Boot+Vue 构造的一个Web项目。详情可看READEME.md

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •