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

相关文章:

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

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

【ArcGIS Pro微课1000例】0053:基于SQL Server创建与启用地理数据库

之前的文章有讲述基于SQL Server创建企业级地理数据库,本文讲述在SQL Server中创建常规的关心数据库,然后在ArcGIS Pro中将其启用,转换为企业级地理数据库。 1. 在SQL Server中创建数据库** 打开SQL Server 2019,连接到数据库服务器。 展开数据库连接,在数据库上右键→新…...

快速排序(2)

一、快速排序有三种方法:hoare版本、挖坑法、前后指针版本 但是三种方法的核心思想都是一样的,都是将该数组分为左右两半递归式的排序。 1.hoare版本 该方法是先保存a[keyi]位置的值,然后右边先开动找小,找到小后,左…...

持续集成和持续交付

引言 CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一种面向开发和运维团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题(亦称:“集成地狱”&#…...

C#、JavaScript、VBScript解析JSON数据源码

本示例使用设备:WIFI/TCP/UDP/HTTP协议RFID液显网络读卡器可二次开发语音播报POE-淘宝网 (taobao.com) C#解析JSON数据 string dispstr "{" getChinesecode("扫码") ":}" data; //显示信息,注意中文汉字一定要转换为设备能显…...

JVM面试连环炮:你准备好迎接挑战了吗?

在Java开发领域,JVM面试一直是一个热门话题。作为一名优秀的开发者,你是否已经准备好迎接这场挑战了呢?今天,我们就来深度解析一下JVM面试的热点问题,帮助你更好地应对面试,一举拿下offer! 1、…...

Ansible通过kubernetes.core.k8s_info和kubernetes.core.k8s访问OCP

文章目录 环境OCPClient(Ansible控制节点) 步骤准备工作在client端配置ssh免密登录OCP端在client端安装Ansible kubernetes.core.k8s_info第1次尝试在OCP端安装python和pip3在OCP端安装kubernetes在OCP端安装PyYAML第2次尝试在OCP端配置config文件第3次尝…...

vscode汉化

安装插件 Chinese (Simplified) (简体中文) Language Pack for 重新打开,若还是没有汉化: 【CtrlShiftp】 输入“configure display language”,回车键 选择刚刚安装的 中文(简体)...

美易投资:美国圣诞树价格飙升,涨价的问题所在?

美国圣诞树价格飙升,商家称“拜登经济学”是导致涨价的罪魁祸首 随着圣诞节的临近,美国各地的家庭开始准备庆祝这一传统佳节。然而,今年美国的圣诞树价格却呈现出了明显的上涨趋势。据一些商家反映,这主要是由于“拜登经济学”所致…...

国内外聊天AI大比拼,你知道几个?一键了解最火聊天AI应用!

国内类ChatGPT的AI工具一网打尽 2022年,是一个不平凡的一年。ChatGPT迅速崭露头角,成为备受瞩目的热门话题。特别是在OpenAI发布了基于GPT-3.5模型的ChatGPT版本后,这一产品因其卓越的对话能力和广泛的应用潜力,很快引起了大众的…...

C++STL的vector模拟实现

文章目录 前言成员变量成员函数构造函数push_backpop_backinserterase析构函数拷贝构造 前言 成员变量 namespace but {template<class T>class vector{public:typedef T* iterator;private:iterator _start;iterator _finish;iterator _end_of_storage;}; }我们之前实…...

openssl 常用命令 pkcs12

openssl pkcs12 openssl pkcs12 官方文档 1. 描述 The pkcs12 command allows PKCS#12 files (sometimes referred to as PFX files) to be created and parsed. PKCS#12 files are used by several programs including Netscape, MSIE and MS Outlook. pkcs12 命令是用来创…...

2017下半年软工(桥接模式)

题目——桥接模式&#xff08;抽象调用实现部分&#xff09; package org.example.桥接模式;/*** 桥接模式的核心思想是将抽象部分与它的实现部分分离&#xff0c;使它们可以独立变化&#xff0c;就是说你在实现部分&#xff1a;WinImp、LinuxImp基础上还能加上RedHatImp&#…...

Hive 浅析

Hive是一个简单的LUA沙盒&#xff0c;除了基本的LUA解释器的功能以外&#xff0c;还提供了诸如热加载等功能。 了解HIVE的工作原理有利于了解Lua虚拟机的底层实现机理。 本文从是什么-怎么用-为什么三个维度介绍HIVE。 Hive Hive是什么 hive是一个简单的LUA应用框架,目前基于…...

C 语言中,结构体「.」与「->」的区别

简单来说 「 」的左边是结构体名字时用点符号「.」 「 」的左边是结构体指针时名字时用箭头「->」 对于要读取结构体种的数据时&#xff0c;有下面三种写法&#xff0c;操作是等价的。 struct ListNode a;struct ListNode *p1 &a;/*三种写法*/a.element 2333;p1->e…...

【Java Web学习笔记】5 - XML

项目代码 https://github.com/yinhai1114/JavaWeb_LearningCode/tree/main/xml 零、在线文档 XML系列教程 一、XML引出 1.为什么需要XML 1.需求1 :两个程序间进行数据通信? 2.需求2:给一台服务器&#xff0c;做一个配置文件&#xff0c;当服务器程序启动时&#xff0c;去…...

在jupyter notebook中修改其他文件的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

如何在Android中旋转屏幕时避免重新绘制Activity

如何在Android中旋转屏幕时避免重新绘制Activity 在Android开发中&#xff0c;设备旋转通常导致当前活动&#xff08;Activity&#xff09;被销毁并重新创建&#xff0c;这可能导致用户界面重置和不必要的资源重新加载。然而&#xff0c;有时我们希望避免这种行为&#xff0c;…...

离线环境下安装python库(推荐pip download)

离线环境下安装python库&#xff08;推荐pip download&#xff09; 目录 1.需求 2.失败操作&#xff08;注意&#xff09; 3.成功操作 4.其它参考 1.需求 机器部署web系统环境后&#xff0c;就不可再次联网&#xff0c;所以升级python web后端&#xff0c;需要离线安装pyt…...

ubuntu16.04安装ROS+Gazebo

ubuntu16.04安装ROS参考文章 ros安装&#xff08;一键最简安装&#xff0c;吹爆鱼香ROS&#xff0c;请叫我鱼吹&#xff09; ROS篇——Ubuntu快速一键安装ROS或ROS2&#xff08;通用&#xff09; ubuntu安装ROS melodic(最新、超详细图文教程) 配置ubuntu以及安装ros2必要环…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...