论坛设计
功能
- 登录(jwt配合key来实现)
- 注册
- 接口权限,/user部分接口会验证用户是否登录
- 帖子上传
- 帖子查看
- 帖子删除
- 帖子数据处理(帖子访问量,用户访问量,作者被访问量)
- 浏览处理(点赞,收藏)
- 发送评论(没有设置删除了)
使用的库
wangEdior、element-plus、undraw-ui、springboot、mybatils-plus,系统大概的并发量在1000个左右,人数过多会直接嘎掉。
页面展示
搜索功能目前谷歌收录没有还没有弄好,后面再使用elasicsearch制作。
本论坛由女朋友开发的一个毕业设计,我负责协作部署写文章等,这里解释一下数据库的设计。
数据库解释
数据库的表总共是
- user
- article
- comment
- user_article
其中user里面携带一个key,这个是随机生成的一个函数,每一次跟用户相关的都会调用这个key,判断是否跟数据库的内容是否匹配,密码采用数据库保存的是md5加密。
comment之中包括一个comment_id和article_id,通过这个来实现回复这些的功能
user_article是浏览记录这些的,其中user_id和article_id构成一个共同的索引,然后每一次访问的时候都会来查询这个,没有这个记录就会生成一个,根据这个记录来增加like和save的,浏览记录这些也都是查询的这个表格,使用关联查询
遇到的困难与解决问题
富文本编辑器
使用的使用wangeditor实现的,这个非常的不错,还可以定制一些组件
背景
当时不知道使用什么背景,参考的是codepen一个作者的代码,具体的链接不记得了
部署
使用宝塔linux进行部署,安装的是jdk21,还有node 20.10.0版本,这些版本比较新,但是现在springboot已经不支持jdk17以下的了,凑合一下,由于经常性部署的时候报错,然后使用frp来做内网穿透一边调试一边看效果了。
文件管理
原本像使用阿里云oss的,但是后面还是算了,使用springboot的时候还出现了好些问题,它的classpath是不会实时更新文件的,最后还是改成了file,这里也给出一段代码
package com.xiaoluo.luntangend.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer {
// 图片处理
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
String currentDirectory = System.getProperty("user.dir");
System.out.println("当前程序路径: " + currentDirectory);
registry.addResourceHandler("/static/**")
.addResourceLocations("file:./static/");
}
}
中间还有一个问题就是使用spring seriucy的时候,因为它更新了6.1的版本好多东西都被废弃了,导致用起来比较麻烦,最后没办法还是使用filter了,还是选择了多写了一些代码,虽然它也是基于filter的,但是使用它可以解决很多配置问题。
跨域
因为nuxt.config.js里面没有配置代理的位置,前端也是没有代理,具体的代理女友也不知道怎么弄,有知道的朋友可以告诉一声,没办法在springboot里面配置了跨域
最后会女朋友继续增加以下功能
- spring cloud 防火墙实现熔断
- update部分采用mq分流
- 数据库部分采用主从复制,使用proxysql来进行数据库代理提高数据库性能
- 论坛内容部分放进去elastic search
- 数据库分表,把评论表格给分散
- elastic search 搜索
- 用户信息编辑
- 评论删除
- 管理员模块
- 分类查询
- 以及前端多语言(中文,英文)
- 把原本的filter替换为spring securiy
- 优化seo更多的标签
- 手机端适配,宽度适配
- 关注,聊天功能
目前大概只制作了两天,还有很多的一个优化空间,大家有兴趣可以访问。后续会把整个代码进行开源,有兴趣的朋友可以私信我qq:2697279763
目前这个论坛还未上传好github
请注意,这个只是一个毕业设计,不要发送任何不正当言论!!!
如果可以,请我喝杯咖啡