文章目录
- 前言
- 项目介绍
- WhiteHole
- 期望
- 立项
- 作者
- 功能/模块简介
- 用户模块
- 问答模块
- 社区模块
- 博文模块
- Next
前言
拖更,拖延了这么久,耗时超过3个月的项目,WhiteHoleV0.7 版本即将迎来最后的收尾工作。当然考虑到服务成本,和开发进度,目前只完成了预期的80%左右的工作。说来惭愧,原先的计划是在去年9月份中旬开始进行编写,预计开发周期为一个月,但是由于各种各样的事情,导致并未按照进度完成服务的搭建。
于2022年12月份几乎停止编写,届时工程代码总量约为(仅统计:java+vue代码数,不含空格,注释)4.5W。于1月7日正式重启项目(是的有关于WhiteHole项目相关技术的博文都是以前的工作)截止到今日,约提交2W行代码(统计方式同上)。是的,相当长一段时间确实是在“划水”。
项目介绍
WhiteHole
whitehole是一个由Huterox团队开发的致力于社区交流,知识共享的社区交流平台。同时也是Huterox本人用于技术成长的中型项目。
期望
我们希望这个项目是最终用于上线的WhiteHole项目,作为用于记录成长的开源项目。我们期望这个项目将成为一个优秀项目,未来也期望得益于分布式架构,我们将基于Python实现用户推荐模块,同时将基于NLP实现WhiteHole智能助手。
立项
本项目从Huterox在大学本科阶段二年级就开始筹划,技术栈从基于Python的Django体系至基于SpringBoot+vue的体系,到如今的基于分布式微服务构建的体系。当前历经了3个技术版本的迭代,前两次均为技术验证,本次为第三次,同时通过基于SpringCloud/Alibaba 的微服务技术来实现分布式架构。
不同版本之间的区别如下:
-
Django版本,基于Python 采用MVT设计模式,纯原生html css js开发
项目地址:https://gitee.com/Huterox/WhiteHole -
SpringBoot+vue 版本,采用前后端分离模式设计,主要亮点在于前端。
项目地址:https://github.com/Huterox/WhiteHoleBoot -
当前版本,使用分布式架构完成基本服务搭建,地址:暂未开放。
作者
Huterox
csdn地址:[https://blog.csdn.net/FUTEROX](https://blog.csdn.net/FUTEROX)
邮箱: 3139541502@qq.com
功能/模块简介
从功能模块上进行划分我们可以大致分为几大模块:
用户模块
首先对于用户模块,这里没有什么好说的,和我们正常的网站,应用类似,登录,登出,注册,第三方登录(支持QQ和微信)等等。
目前没有做一些流量统计之类的,在未来可以加上。
预览图如下:
首先这是个人主页:
之后是我们的个人中心:
在这里包含了大量的管理模块。
问答模块
这个问答模块其实与知乎是类似的,用户可以提问,之后别的用户可以进行回答。
问题展示页面
之后点击具体的回答,可以查看到回答的内容:
之后对这个回答进行点赞,收藏,评论等操作。同时对应问题的回答,我们支持Markdown,并且无需任何转换(知乎的需要第三方工具转换)
对于这一来互动操作,当用户在线时,我们将通过消息服务器将此类消息进行通知,作为提问者可以知道自己的提问有回答,作为回答者可以知道自己的回答有评论,收藏之类的操作。
是的,我们的消息提示也是有角标标红的,这一功能与其他类型社区类似。
社区模块
社区是WhiteHole社区的基本内容单位,我们鼓励用户可以创建自己的社区,并为社区提供内容。社区内暂时包含了博文和问答模块。
同时对于创建者而言,我们给予其尽可能做的权限。
在个人中心中可直接进入社区管理界面:
社区管理界面如下:
值得一提的是,WhiteHole本身是最大的默认社区,如果你选择在非社区页面发布提问,发布博文。那么默认发布在WhiteHole本区中。他们的关系如下:
此外,由用户创建的社区中,不具备对博文的删除权限,但是具备对博文的审核以及移除社区的权限,当对某一篇文章或者提问,进行移除时,将会将属于当前社区的内容,移至WhiteHole当中。WhiteHole中响应的博文审核,等等操作由WhiteHole管理员负责:
如图所示:
同时为了减少人力成本。对于内容的审核,优先由 响应的算法进行初步审核,我们将算法判断的结果分为三分等级:
博文模块
博文模块是最为特别的模块,同时也是我所期望的以内容为推动的表现形式。对于博文,我们不屑于低质量,存在抄袭嫌疑,营销嫌疑的文章。同时对于一篇好的文章,应该是能够汲取广大读者建议并修改的。因此对于博文模块,我们引入了这一机制:
我们引入了如下如下机制:Fork,合并,日志,贡献墙。
当读者觉得这篇文章需要进行修改,或者略有不当时,期望能够帮助作者完善博文时,可以选择fork本篇文章,之后,在个人中心可以看到作为读者所fork的文章:
对于已fork的文章,可以选择取消fork,也可以选择进行提交,提交时将进入编辑页面,完成博文的修改。
之后对于博文作者而言,他将接收到对于的通知,同时可以进入到合并页面,查看读者们的提交:
当点击到具体的提交时,将进入对比,修改处将进行高亮
点击确定合并,将再次进入编辑页面:
最终完成合并,此时该读者,将成为博文的贡献者,并展示对应的日志:
是的通过这一机制,我们期望可以提高社区内文章的质量,同时提高用户间的互动,交流需要的不仅仅是读者,同时也需要参与讨论者。我们鼓励,也期望用户通过这种方式进行二次创作,而非进行盗版,抄袭。同时在未来,举报机制也将提出日程。
Next
之后是对于接下来的工作,尽管当前我还没有完成基础服务开发,但是仅剩下搜索服务的编写,这里我们将引入ElasticSearch完成搜索功能。之后是对于技术上的升级,推荐模块以及我们的WhiteHole网页智能助手:
以及对于可能的盈利方案,是的,当前对于这一块依然是模糊的,但我期望它可以实现 :Balance of income and expenditure.