当前位置: 首页 > news >正文

CS.DEEP | 基于 openGauss 实现的计算机论坛项目

前言

本项目是一个基于前后端分离(后端:SpringBoot + openGauss,前端:Vue3 + Element Plus)实现的开源计算机博客论坛项目,旨在为用户提供一个方便、高效的博客发布和交流平台。

本平台支持 Markdown 编辑,并具有丰富的功能,包括文章的发布、点赞、收藏、评论、搜索等,同时还提供活跃度热力图展示和个人信息管理等功能。其中的一大亮点是平台的搜索功能利用 openGauss 数据库在全局检索的优势来实现。下面来简要介绍此论坛平台:

主要功能介绍

为了方便论坛用户更好地了解本论坛的使用,在此介绍本论坛的主要功能,主要包括:

  • 论坛首页

  • 文章编辑

  • 文章详情页

  • 全局搜索

  • 用户中心

论坛首页

1. 用户可以点击发布进入文章的编辑页面,对于文章编辑页面下文有详细概述。

2. 在首页的侧边可以实时看到论坛的流量情况,包括:用户数、博客数、创立时间。

3. 首页主体是论坛文章的展示,我们采用分页展示的方式,除此之外还有按照发布时间、文章热度、推荐等方式进行排列展示。

94259bd0298899b078c69b7dcaa061da.jpeg

文章编辑

文章编辑页面如下图,主要包括文章标题、文章分类、文章标签、内容主体、文章发布、文章删除几部分内容。

1. 对于文章分类有专业知识、分享发现、吐槽讨论三种可供选择。

2. 对于文章标签用户的可塑性较高,可以任意填写三个与文章相关的标签,但是对于标签的字数有一定的限制。

3. 文章内容的编写采用 markdown 的这一方式来进行,对 markdown 不了解的用户可以点击右上角的问号来查询。

4. 如果未完成文章的内容编写可以点击保存保存到草稿箱;同样也可对文章进行发布和删除操作。

71be26b55cc9b5e5e0cd5d5789abecad.jpeg

文章详情页

1. 文章详情页本平台采用 marked + highlight.js 实现对 markdown 格式的转换,展示文章的标题,标签,正文等内容。

2. 在文章详情页用户可以进行点赞、收藏、评论等功能。

3. 如果用户对文章作者感兴趣可以点击作者头像来进入作者用户的个人信息页进行关注等操作。

7a39f02f8e01fbb172c411018867c4d3.jpeg

全局搜索

1. 本论坛的搜索采用 openGauss 数据库(tsvector 数据类型与 tsquery函数)实现文章的全局关键字搜索,会根据用户输入的关键词进行实时搜索结果的展现。

2. 搜索结果下拉列表只会展示至多5条数据,更多的结果可进行搜索结果页面查看。

61fa7175105e37923af735fdac24b52f.jpeg

用户中心

1. 用户在个人中心可以点击编辑个人资料进行个人信息的编辑。

2. 用户可以实时得到自己的关注数和粉丝数,点击两者可分别进入关注或者粉丝的列表页面。

3. 用户还可以在博客文章的区域看到自己发布的文章。

4. 活跃度热力图展示是本论坛的一大特色,用户可以通过发布文章、对文章进行评论、关注用户等方式得到活跃度的提升,不同颜色代表活跃度的高低,颜色越深代表活跃度越高。用户可以查看过去一年自身的活跃度变化。

c4f908936388ce1f826393a7d0193ccd.jpeg

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赛道开源项目贡献赛二等奖获奖作品—阳光开朗大男孩团队。团队成员主要包括林泽勋、林江荣、梁志标等同学。在这里特别感谢阳光开朗大男孩团队的特别分享。

http://www.lryc.cn/news/258058.html

相关文章:

  • 【ArcGIS Pro微课1000例】0053:基于SQL Server创建与启用地理数据库
  • 快速排序(2)
  • 持续集成和持续交付
  • C#、JavaScript、VBScript解析JSON数据源码
  • JVM面试连环炮:你准备好迎接挑战了吗?
  • Ansible通过kubernetes.core.k8s_info和kubernetes.core.k8s访问OCP
  • vscode汉化
  • 美易投资:美国圣诞树价格飙升,涨价的问题所在?
  • 国内外聊天AI大比拼,你知道几个?一键了解最火聊天AI应用!
  • C++STL的vector模拟实现
  • openssl 常用命令 pkcs12
  • 2017下半年软工(桥接模式)
  • Hive 浅析
  • C 语言中,结构体「.」与「->」的区别
  • 【Java Web学习笔记】5 - XML
  • 在jupyter notebook中修改其他文件的解决方案
  • 如何在Android中旋转屏幕时避免重新绘制Activity
  • 离线环境下安装python库(推荐pip download)
  • ubuntu16.04安装ROS+Gazebo
  • 手动搭建koa+ts项目框架(路由篇)
  • c语言:文件操作(1)
  • 运筹学经典问题(三):最大流问题
  • 裸机开发与Linux驱动开发的区别
  • 【蓝桥杯选拔赛真题75】Scratch行走的螃蟹 第十五届蓝桥杯scratch图形化编程 少儿编程创意编程选拔赛真题解析
  • 小型洗衣机哪个牌子质量好?迷你洗衣机排名前十名
  • MySQL_9.B-数索引
  • ubuntu-更改镜像源-系统初始化-安装Clion-C++编译环境-Java安装
  • c语言-动态内存管理
  • 【JAVA杂货铺】一文带你走进面向对象编程的构造方法 | Java| 面向对象编程 | (中)
  • 动态规划学习——通符串匹配,正则表达式