文末获取资源

文章目录

  • 主页
  • 注册模块
  • 个人中心模块
  • 发布文章模块
  • 推荐模块
  • 评论模块
  • 点赞模块
  • 通知模块

主页

主页是用户打开的第一个页面,是到达各个模块的入口,友好的一个界面可以给用户一个好的印象。该界面主要是一些文章的展示,通过不同的导航可以快速的看到想看的一些内容,主页主要包括热榜、推荐、最新、关注、今日推荐、收藏、消息、搜索框、写文章和登录/注册。热榜的实现是通过文章一年内的优质文章,根据点赞和评论的百分比进行推荐的。最新文章,是根据用户发布的时间进行排序的,最新发布的放在最前面。关注导航框,是获取动态的,也就是用户关注的一些人的文章。搜索文章是通过模糊查询对全文进行的搜索。

注册模块

用户点击登录/注册的时候,如果用户没有账号,可以通过点击去注册,跳转到注册页面。用户在使用学了么知识共享平台时,如果没有账号,则只能使用该平台的部分功能,如果想要对一些优质的内容进行点赞,评论等操作,则需要登录。若用户是第一次使用学了么知识共享平台,则需要注册新账号。当用户填写的信息都正确时,会给用户生成一个默认的头像以及一个token。

个人中心模块

个人中心管理主要是用户自己的信息管理,和管理员管理用户的信息。这里还有关于文章的管理,收藏的管理以及关注粉丝的操作。用户只有在登录之后才能进入个人中心。个人中心分为基本设置(其中性别默认是男)。

发布文章模块

发布文章模块是该项目的核心业务,用到的是markdown编辑器,后端存储在MySQL数据库中。其中在发布文章的时候,可以自定义分类和标签,分类方便用户在后续的浏览中可以迅速找到,标签主要是用来做推荐功能使用。用户只有在登录后才能发布文章。不同的文章可以有不同的分类和标签。在文章中也可以插入图片。

推荐模块

推荐模块通过内容推荐算法实现,通过用户对不同文章的点赞和浏览数,根据标签进行推荐,主要包括个性化推荐和今日推荐两大模块。个性化推荐,具体实现是首先查出用户浏览的标签进行排序,选出前五个,然后对这五个进行查询,再根据每个标签查询出40篇最近的优秀文章,最后通过权重对查询出来的文章进行筛选展示。今日推荐的文章是昨天优质的文章,根据点赞和访问按照不同的权重来进行排序,这里首先会去Redis中获取,如果没有才去MySQL中查询,每天推荐10篇,如果文章没有图片,就默认使用头像做图片。

评论模块

对于文章用户可以进行评论,也可以对评论进行回复。评论的实现是通过用户id与文章id进行一一对应,对于多级评论的处理是通过指向父节点的一个指针实现的,在进行获取的时候,把一级评论放到队列中,然后进行遍历递归出其子评论。

点赞模块

点赞模块通过Redis进行实现,这样可以提高响应速度,并且已经点过赞的文章会有颜色的变化。通过Redis实现点赞和取消点赞功能,每篇文章,都有一个key(用到时创建),用来存放点赞的用户,当用户点赞时,会把该用户放到该key中,即记录每个用户只能点赞一次,同时可以用于取消点赞功能,还有一个集合是changeKey,用来存放改变的文章,用于定时任务持久化点赞数量(定时将Redis中点赞总数持久化到MySQL)。

通知模块

当用户对文章进行点赞、评论等操作时,会给作者有通知,作者可以收到通知,从鼓励创作的角度讲,当有交互的时候,会鼓励作者进行文章创造,同时使得平台更加活跃。通知是在点赞、评论、关注等的操作中完成的,当用户对做出了以上几个操作时,后端会根据操作的内容拼接字符串,然后进行通知。

Java项目——博客系统(毕业设计)相关推荐

  1. JAVA个人博客系统毕业设计,个人博客系统设计与实现,个人博客网页设计毕设作品

    功能清单 [后台管理员功能] 系统设置:设置关于我们.联系我们.加入我们.法律声明 会员列表:查看所有注册会员信息,支持删除 广告管理:设置小程序首页轮播图广告和链接 留言列表:所有用户留言信息列表, ...

  2. Java+MySQL基于springboot校园博客系统#毕业设计

    项目编号:Java+MySQL spring216-基于springboot校园博客系统#毕业设计 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tom ...

  3. java个人博客系统代码下载_java个人博客系统代码

    利用现存框架可以更快开发系统.所以选 择 Java 技术作为 blog 的开发工具. 为了增加系统的吞吐量,提高并发 +申请认证 文档贡献者 胡进全 计算机网络管理员 ...... javaweb课程 ...

  4. [java手把手教程][第二季]java后端博客系统文章系统——No10

    项目github地址:github.com/pc859107393- 实时项目同步的地址是国内的码云:git.oschina.net/859107393/m- 我的简书首页是:www.jianshu. ...

  5. java开源博客系统solo_Solo Java 开源博客

    Solo 是一款一个命令就能搭建好的 Java 开源博客系统,如果你想开个独立博客,请一定不要错过!2.5.0 版本主要支持了 Markdown/JSON 格式数据导出,并改进了 Markdown 渲 ...

  6. 用开源博客系统OneBlog来搭建自己的个人技术博客网站(java版博客系统)

    java版博客系统 一直想搭建一个个人的博客,方便记录和分享一些技术点,在网上也找了一圈,最终在开源中国中发现了一款很不错的java版的博客系统 https://gitee.com/yadong.zh ...

  7. (附源码)springboot掌上博客系统 毕业设计 063131

    Springboot掌上博客系统的设计与实现 摘 要 掌上博客系统是当今网络的热点,博客技术的出现使得每个人可以零成本.零维护地创建自己的网络媒体,Blog站点所形成的网状结构促成了不同于以往社区的B ...

  8. 想要搭建个人博客?我调研了 100 来个 Java 开源博客系统,发现这 5 个最好用!...

    最近想倒腾一下博客,看了很多现成的比较成熟的开源博客系统,自己也简单从下面几个维度总结对比了一下: star 数量 技术选型 社区生态 当然啦!好东西不能独享,下面简单分享一下我所做的笔记(文末有提供 ...

  9. 想要搭建个人博客?我调研了 100 来个 Java 开源博客系统,发现这 5 个最好用!......

    最近想倒腾一下博客,看了很多现成的比较成熟的开源博客系统,自己也简单从下面几个维度总结对比了一下: star 数量 技术选型 社区生态 当然啦!好东西不能独享,下面简单分享一下我所做的笔记(文末有提供 ...

最新文章

  1. Http Module 介绍(转)
  2. Android --- android.intent.action.MAIN 与 android.intent.category.LAUNCHER常用的几种情况
  3. kafka使用_kafka使用Interceptors实现消息端到端跟踪
  4. TWRP-recovery中文界面安装方法[转]
  5. oracle模拟重叠事务,ORACLE的事务读一致性与语句读一致性
  6. py3下怎么用StringIO
  7. 互联网架构设计漫谈 (4)-你知道微服务的“分与合”
  8. AWS Ubuntu 18.04 镜像采用滚动内核模型
  9. 【SpringMVC笔记】Ajax 入门(jQuery.ajax)
  10. lumion自动保存_Lumion所有快捷键,值得收藏
  11. 高性能服务器设计——模块间通信(转载)
  12. caffe的python接口学习(4):mnist实例---手写数字识别
  13. Java中的sql语句代码拼接问题
  14. 获取建模美赛O奖的方法和经验!文末资料放送
  15. 电脑分屏没有声音_电脑分屏声音怎么分
  16. mcrpg职业系统服务器,我的世界MC-梦想大陆RPG服务器1.7.10
  17. 【Python自学笔记】学习Python控制键盘鼠标的库 pyautogui
  18. 解压缩软件RAR Extractor Mac
  19. IP-guard功能详解—即时通讯监控
  20. MySql报错:unblock with mysqladmin flush-hosts

热门文章

  1. 如何招到优秀的程序员(第二版)
  2. (转)调用System.gc没有立即执行的解决方法
  3. [原][osg]Geometry详解
  4. [LNOI] 相逢是问候 || 扩展欧拉函数+线段树
  5. thinkPHP的Excel插件
  6. 今天中国获得金牌数量是7块,位居奖牌榜首位
  7. position:absolute的小坑
  8. Linq lambda表达式经验总结
  9. wgs-84,gcj-02,bd-09的相互转换,高德,世界测量,百度坐标系的相互转换,坐标系转换
  10. 一次线上事故,让我对MySql的时间戳存char(10)还是int(10)有了全新的认识