ai星球(1616ai论坛)

我要开发同款
proginn07181979132023年07月26日
178阅读
所属分类webappH5网站BBS论坛

作品详情

网站地址:bbs.1616ai.com概要(阅读该项目前,请先查看 1616ai开放平台项目介绍)ai 星球是一个集论坛、资讯功能于一体的网站,与1616ai 开放平台(1616ai.com)相互配合。用户可以在此发布文章,资讯,并与其他用户参与讨论技术栈springboot mybatis mysql redis mango elasticsearch logstash nginx rabbitmq shironodejs vue 主要模块- 文章模块- 搜索模块- 用户模块- 站内消息模块- 单点登录模块- 推荐模块主要技术点1. 文章模块用户可发布文章(支持富文本,后端依托第三方插件实现富文本安全过滤,保留合法代码),支持图片上传,外部链接等文章编辑支持存储草稿,后端需要维护文章状态(如:草稿、待审核、审核不通过、公开发布(审核通过)、删除等状态)文章支持不同的阅读权限(如:私密、关注、公开等),不同用户获取文章列表时,亦药对阅读权限进行验证文章发布后支持修改编辑功能,使用 mango 存储修改后的文章副本,进入到待审核状态,需要保证审核通过之前,原文章不受到影响,待审核通过后,将 mango 中的数据覆盖到数据库中的文章进行更新,并删除 mango 中的数据文章发布需要审核,对接了第三方人工智能 API 接口进行审核文章支持标签分类文章支持点赞、收藏文章可被其他用户发表评论并回复评论,评论回复实现了二级展示(数据库表记录回复目标,并在查询数据时使用特殊算法进行处理),可以追踪回复目标用户,回复内容亦可点赞实现了 redis(文章 ID 作为 key)缓存2. 搜索模块使用了 Elasticsearch 实现搜索能力,支持中文分词(ik)、拼音、自动补全提示功能支持文章标题和正文搜索,并根据相关性进行排序支持过滤功能(标签、权限等)数据基于 mysql 进行存储及更新,通过 logstash 定时任务 sql 读取数据库数据,过滤后输出到 es 中,保证数据实时更新支持查看搜索历史记录,支持搜索结果收藏3. 推荐模块(结合站内权限)管理员等拥有特殊权限的账号,可发布特殊类型的文章,并展示在站内特殊位置,如页面上方轮播图,文章置顶等另外,使用 redis zset 实现了文章热度排行榜4. 用户模块实现了论坛用户主页功能,可展示文章实现了关注其他用户的功能,用户可看到哪些用户关注了自己,也可以看到自己关注了哪些用户,并可以跳转到其他用户主页可对自己的文章进行管理(如:编辑、发布、删除、改变阅读权限等)支持用户基本信息修改(密码、昵称、头像等信息)开发了成就系统(任务)功能,如:进行一次收藏等,即可触发成就系统更新。用户进行每一次操作,都有可能被成就系统记录,具体实现使用 rabbitmq 异步发送操作数据,累积成就进度,完成成就后,用户还会收到站内消息提示5. 站内消息模块用户操作可能触发站内消息提示,如成就完成,评论被回复、点赞、收藏等,在消息触发点使用 rabbitmq 发送异步消息到用户消息仓库(mysql),前端网站定期到服务端检查并拉取消息消息进行了分类,如系统消息、成就消息、用户消息等在消息界面,支持点击消息进行跳转、删除消息等操作6. 单点登录模块该网站除了论坛外,还做了 AI能力搜索门户(另一个项目 1616ai.com),其中就支持了单点登录,使用 shiro + jwt 进行实现支持用户名密码及手机号登录、微信扫码登录,一步自动注册等功能登录成功后,发放 jwt 令牌存储至浏览器中,访问接口时,使用 Authorization 携带令牌头,后端进行验证并获得用户信息7. SEO 优化为了被搜索引擎收录,对 SEO 进行优化,java 端依旧保持了 restapi 风格,加入了 nodejs 作为前端服务器中转,用户打开文章页面时,会被 nginx 转发到 nodejs 服务器,nodejs 访问 javaapi 加载文档,最后返回到前端的就是一个完整内容的文档(去除了浏览器到 java 端的直接 xhr 请求)页面静态化,请求地址重写为 {文章 ID}.html 的形式8. 其他技术使用了 nginx 做反向代理服务器,包括静态资源的下载,请求重写、转发等前端使用了 vue + elementui 进行开发,支持移动端自适应(前端非本人开发)数据库使用 mysql + snowflake 雪花算法实现分布式唯一主键,使用 mybatis-plus 快速查询
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论