Sym 是一个用 Java 写的实时论坛,欢迎来体验!git
Sym 的诞生是有以下几点缘由:github
在浏览帖子时,传统论坛都是须要刷新页面来查看回帖的。Sym 在相似的用户交互场景上是基于 WebSocket 技术进行架构的,看帖时不须要刷新页面也能够看到其余人回帖。算法
Sym 使用了不少 HTML5 提供的技术特性,好比经过使用本地存储防止编辑帖子/评论时内容丢失;使用了音频特性来进行帖子/评论音频录制;复制/粘贴上传图片等等。数据库
运用这些技术,Sym 可让用户在分享、灌水时更加便捷、舒服 浏览器
积分系统是全部论坛的基础/标配系统之一吧,好玩是一方面,另外一方面是量化每一个用户的价值。Sym 的积分系统参考了 V2EX 的积分系统,将来将会加入更多动态特性,好比用户阵营汇率、系统运营参数等。服务器
Sym 提供了 API 进行帖子、评论的同步(B3log 构思),目前 Solo 博客系统已经能够完整和 Sym 保持内容同步。网络
首页架构
首页使用 Reddit 热帖排序算法,基于用户投票和时间来决定首页内容。另外,列表上面的每篇帖子都有一个小红条,表示该帖的当前热度(实时浏览/评论)。框架
帖子编辑器
我的设置
发布选择
目前有 4 类帖子:
发布编辑
移动端目前除了不能录音外,其余功能和 PC 端保持一致。
首页
浏览帖子
评论区
发布
需求:Maven3+、MySQL5+、Jetty9+
src/main/resources/local.properties
中的数据库配置,并建立数据库latke.properties
中的端口为容器端口init.properties
中的管理员帐号mvn install
进行构建注意:
symphony.properties
中的 qiniu.*
属性symphony.properties
中的 sendcloud.*
属性用户注册时是启用邮件验证的,若是须要修改请参考相关代码。
请看这里。
在实现 B3log 构思的这几年: