前言
本项目是一个基于前后端分离(后端:SpringBoot + openGauss,前端:Vue3 + Element Plus)实现的开源计算机博客论坛项目,旨在为用户提供一个方便、高效的博客发布和交流平台。
本平台支持 Markdown 编辑,并具有丰富的功能,包括文章的发布、点赞、收藏、评论、搜索等,同时还提供活跃度热力图展示和个人信息管理等功能。其中的一大亮点是平台的搜索功能利用 openGauss 数据库在全局检索的优势来实现。下面来简要介绍此论坛平台:
主要功能介绍
为了方便论坛用户更好地了解本论坛的使用,在此介绍本论坛的主要功能,主要包括:
-
论坛首页
-
文章编辑
-
文章详情页
-
全局搜索
-
用户中心
论坛首页
1. 用户可以点击发布进入文章的编辑页面,对于文章编辑页面下文有详细概述。
2. 在首页的侧边可以实时看到论坛的流量情况,包括:用户数、博客数、创立时间。
3. 首页主体是论坛文章的展示,我们采用分页展示的方式,除此之外还有按照发布时间、文章热度、推荐等方式进行排列展示。
文章编辑
文章编辑页面如下图,主要包括文章标题、文章分类、文章标签、内容主体、文章发布、文章删除几部分内容。
1. 对于文章分类有专业知识、分享发现、吐槽讨论三种可供选择。
2. 对于文章标签用户的可塑性较高,可以任意填写三个与文章相关的标签,但是对于标签的字数有一定的限制。
3. 文章内容的编写采用 markdown 的这一方式来进行,对 markdown 不了解的用户可以点击右上角的问号来查询。
4. 如果未完成文章的内容编写可以点击保存保存到草稿箱;同样也可对文章进行发布和删除操作。
文章详情页
1. 文章详情页本平台采用 marked + highlight.js 实现对 markdown 格式的转换,展示文章的标题,标签,正文等内容。
2. 在文章详情页用户可以进行点赞、收藏、评论等功能。
3. 如果用户对文章作者感兴趣可以点击作者头像来进入作者用户的个人信息页进行关注等操作。
全局搜索
1. 本论坛的搜索采用 openGauss 数据库(tsvector 数据类型与 tsquery函数)实现文章的全局关键字搜索,会根据用户输入的关键词进行实时搜索结果的展现。
2. 搜索结果下拉列表只会展示至多5条数据,更多的结果可进行搜索结果页面查看。
用户中心
1. 用户在个人中心可以点击编辑个人资料进行个人信息的编辑。
2. 用户可以实时得到自己的关注数和粉丝数,点击两者可分别进入关注或者粉丝的列表页面。
3. 用户还可以在博客文章的区域看到自己发布的文章。
4. 活跃度热力图展示是本论坛的一大特色,用户可以通过发布文章、对文章进行评论、关注用户等方式得到活跃度的提升,不同颜色代表活跃度的高低,颜色越深代表活跃度越高。用户可以查看过去一年自身的活跃度变化。
TODO
1. 实现多种方式登录(微信、github等)
2. 为本论坛增加权限管理,平台使用者分为管理员和普通用户,管理员可实时观察本平台的用户使用情况
3. 添加知识图谱可视化模块,实现用户、博客关联的可视化与交互
4. 实现本论坛的多端运行,主要包括PC端、小程序端、APP三种方式,同时实现用户信息互通
部署
部署方法可见:https://gitee.com/Wa_automat/examples/tree/master/LinZeXun-examples
Issue提出
如有创新的意见或项目bug,请在:https://gitee.com/Wa_automat/examples/tree/master/LinZeXun-examples)处提出issue
最后的最后如果发现论坛的Bug欢迎邮箱联系: cs_deep@163.com,让我们共同维护这个平台吧~
本文作者
本文内容来自于第六届开源软件创新大赛openGauss赛道开源项目贡献赛二等奖获奖作品—阳光开朗大男孩团队。团队成员主要包括林泽勋、林江荣、梁志标等同学。在这里特别感谢阳光开朗大男孩团队的特别分享。