/symphony

🎶 一款用 Java 实现的现代化社区(论坛/问答/BBS/社交网络/博客)系统平台。A modern community (forum/Q&A/BBS/SNS/blog) system platform implemented in Java. https://hacpai.com

Primary LanguageJavaGNU Affero General Public License v3.0AGPL-3.0

Sym

下一代的社区系统,为未来而构建





English

💡 简介

Symphony([ˈs ɪmf əni],n.交响乐)是一个现代化的社区平台,因为它:

  • 实现了面向内容讨论的论坛
  • 实现了面向知识问答的社区
  • 包含了面向用户分享、交友、游戏的社交网络
  • 100% 开源

欢迎到 Sym 官方讨论区了解更多。同时也欢迎关注 B3log 开源社区微信公众号 B3log开源

b3logos.jpg

⚡ 动机

很多社区论坛系统:

  • 界面风格老式,没有跟上时代发展的步伐
  • 缺少创新、好玩的特性,缺少现代化的交互元素和用户体验
  • 缺乏考虑实际运营需求,管理功能过于单一
  • 细节不够精致、缺乏长期维护

🗃 案例

社区版:

商业版:

✨ 特性

内容编辑器
	Markdown(GFM)
	Emoji
	上传文件
		图片
		文件
		单独渲染 MP3
		单独渲染视频
	支持录音
	剪贴板处理
		粘贴内容处理为 Markdown
		粘贴图片自动重新上传
	@用户
	数学公式(LaTeX)、流程图支持
	快捷键支持
	工具栏
		表情
		粗体
		斜体
		引用
		无序列表
		有序列表
		链接
		上传
		预览
		全屏
	编辑模式
		传统的 Markdown 分屏编辑预览
		保留 Markdown 标记符的即时渲染
		类富文本编辑器的所见即所得
注册
	用户名
	Email
	邀请码(如果管理员启用)
	邀请链接
	验证码
	邮件验证
	新手向导
		上传头像
		关注标签
		关注用户
		帮助指引
登录
	账户(用户名/Email)
	密码
	忘记密码
		Email
		验证码
发帖
	帖子类型
		同城广播
		机要
		思绪
		问答
		普通帖子
	标题
	正文
		内容编辑器
		本地存储
	标签
		使用已有(选择、自动完成)或创建
		过滤
			黑白名单
			规范化
		默认“待分类”
	插入投票
		单选/多选
		结束时间
		是否公开投票人
	打赏区
		内容编辑器
		打赏积分
	匿名发布
		不可更新匿名状态
	发布后
		可更新
			历史版本
		可删除
	Sandbox 机制
回帖
	内容编辑器
	本地存储
	匿名发布
	是否仅楼主可见
	@参与者
	@单个用户
	回复(回复针对回帖,@针对用户)
	@V(小薇机器人)
	发布后
		可更新
			历史版本
		可删除
	自动关注帖子
活跃度
	发帖数
	回帖数
	参加活动数
	感谢帖子数
	感谢回帖数
	采纳回答数
	投票数
	打赏帖子数
	浏览数
积分
	积分规则
	充值
	提现
货币
	钱包地址管理(ETH)
	币种管理
浏览回帖
	浏览模式
		传统
		实时
	感谢
	采纳回答
	赞同
	反对
	举报
	折叠
		偏离主题
		已过时
	分享
	回帖高亮
		采纳的回答
		优质回帖
		Reddit 评论排序算法
	查看回复
	查看引用(原回帖)
	编辑自己的回帖
	查看历史
	引用统计
浏览帖子
	实时热度
	感谢
	赞同
	反对
	收藏
	关注
	举报
	置顶自己的帖子
	查看历史
	参与投票
	目录
	编辑自己的帖子
	发布时间/浏览数/回帖数/标签
	思绪播放/快速预览
	语音摘要播放
	分支主题
	上一篇/下一篇
	分享
		微信
		QQ
		微博
		Twitter
		分享链接(带用户标识)
	相关帖子
	缩略摘要
	图片代理
	爬虫统计
	引用统计
帖子列表
	领域
		相关标签
	最新
	优选
	同城
	搜索
	标签
		相关标签
		创建者
		贡献者
		关注/引用/回帖数
		所属领域
		关注
	排序
		默认(按发布时间降序)
		热议(按回帖数降序)
		好评(按评分降序)
		最近回帖(按最近回帖时间降序)
	首图
	实时热度
	最新回复
	回帖数
	是否查浏览过该帖(前端样式)
	创建时间
后台管理
	后台首页
		数据统计
			当前在线
			会员在线
			最高在线
			会员
			帖子
			领域
			标签
			回帖
		版本检查
	用户管理
		按用户名/邮件搜索
		添加新用户
		用户数据维护
			各字段数据
			用户状态
				正常
				未验证
				限制登录
				封禁
			高级更新
				用户名
				邮箱地址
			积分充值
			积分提现
			活动积分奖励
			违规积分扣除
			补偿初始化积分
	帖子管理
		按 id 搜索帖子
		重建所有帖子搜索索引
		添加新帖
		帖子数据维护
			各字段数据
			置顶/取消置顶
			重建搜索索引
			电报群推送
			锁定帖子
			删除帖子
	回帖管理
		回帖状态
			正常
			封禁
		内容数据
		删除回帖
	评论管理
		评论状态
		内容数据
		删除评论
	清风明月管理
		清风明月状态
		内容数据
		删除清风明月
	聊天室管理
		内容数据
		状态
	文件管理
	领域管理
		按名称搜索领域
		添加领域
		领域数据维护
			添加/移除相关标签
			名称
			URI
			描述
			图标
			是否用于导航
			状态
			CSS
			SEO
				title
				keywords
				description
			删除领域
	标签管理
		按名称搜索标签
		添加标签
		标签数据维护
			名称
			URI
			描述
			图标
			状态
			CSS
			SEO
				title
				keywords
				description
	保留词管理
		添加保留词
		保留词数据维护
			保留词内容
			删除保留词
	邀请码管理
		生成邀请码
		邀请码数据维护
			状态
				未使用
				已使用
				停用中
			备注
	广告管理
		首页展位
		首页顶部横幅展位
		侧边栏展位
		帖子外围展位
		帖子内嵌展位
		用户主页展位
		帖子列表展位
	角色管理
		内建角色
			管理员
			荣誉会员
			资深会员
			会员
			新手
			访客
		创建角色
		功能权限
	举报管理
		处理(奖励举报者积分)
		忽略
	审核管理
		发布/更新审核
			发帖审核
			回帖审核
			评论审核
		通过,可调整内容
		拒绝,可备注告知作者
		审核结果通知作者
	其他管理
		是否允许发布帖子
		是否允许进行回帖
		是否允许匿名浏览
		注册方式
			开放注册
			关闭注册
			邀请码注册
		帖子浏览计数是否排重
		语言
			按浏览器自动选择
			简体中文
			美式英语
		不显示列表的标签
	管理操作审计日志
		用户
		时间
		具体操作
		IP
		UA
浏览统计
	实时统计
		当前在线
		最高在线
		会员
		帖子
		领域
		标签
		回帖
		页面加载时间
	数据统计
		最近 30 天
		历史
		新回帖数
		新发贴数
		新用户数
消息通知
	消息数
	标记已读
	删除
	消息类别
		收到的回帖
		收到的回复
		收到的评论
		提及我的
			帖子内@
			回帖内@
			评论内@
			收藏
			关注
		我关注的
			关注的用户发帖
			关注的帖子
				贴主有更新
				帖子有人回
		积分
			感谢帖子
			感谢回帖
			采纳回答
			打赏帖子
			充值
			兑换
			扣除
			转账
			邀请注册
			帖子上优选
		同城
		系统
	Chrome 桌面提醒
活动
	领取今日签到奖励
	上证博彩
	字
	贪吃蛇
	五子棋
	聊天室
个人主页
	用户统计数据
	帖子
	回帖
	匿贴
	匿回
	清风明月
	关注帖子
	积分
	关注标签
	收藏帖子
	关注者
	GitHub 仓库
	举报
	关注用户
	站点连接
API
	B3
		博客发布博文 -> 论坛发布帖子
		博客更新博文 -> 论坛更新帖子
		博客发布评论 -> 论坛发布回帖
		论坛发布回帖 -> 博客发布评论
	客户端 APP
排行榜
	签到排行
	综合排行
	链接排行
	GitHub 排行
		仓库
		用户
	活跃度排行
	帖子排行
		打赏区
	积分排行
		财富排行
		消费排行
侧边栏
	广告位
	随机小贴士
	近期热议
	推荐标签
		图标
		简介
		引用数
		回帖数
	最新标签
首页
	领域、问答、关注、同城、最新帖子入口
	搜索、发帖、通知、个人等入口
	领域导航列表
	随机标签列表
	首页顶部横幅广告展位
浏览权限
	是否允许可以匿名(非登录)浏览
		按 URI 路径配置
		帖子可以单独配置
	机要:需要在文中 @ 到的用户才可以浏览的帖子
	对搜索引擎爬虫友好
邮件
	周精华订阅推送
	邮件服务
		SendCloud
		阿里云
		本地 JavaMail
搜索
	第三方 Algolia
	自建 Elasticsearch
	快捷搜索
		帖子
			标题
			正文
		标签
			标题
			描述
		用户
			用户名
			简介
	帖子高级搜索
		作者
		发布时间
		等其他条件
清风明月
彩蛋
	鼠标 ❤ 特效
	异次元空间
	领取昨日活跃奖励
用户设置
	基本信息
		昵称
		自我标签
		URL
		个性签名
		个人主页背景图
		个人卡片背景图
		站点连接
			GitHub
			StackOverflow
			Dribbble
			Behance
			Twitter
			Facebook
			Instagram
			Medium
			LinkedIn
			Telegram
			微博
			知乎
			QQ
			微信
	头像
	账号
		第三方登录
			QQ
			GitHub
			微博
			微信(公众号/开放平台/小程序)
		绑定手机
		绑定邮箱
		更新密码
		更新用户名
		永久停用账号
	审核
		可查看提交的审核申请状态
	安全
		两步验证(Google 验证器)
		登录日志
	邀请
		邀请链接
		兑换邀请码
	积分
		转账
	B3 同步配置
	功能
		个性化
			是否回帖后自动关注帖子
			是否启用站外链接跳转页面
			是否启用键盘快捷键
			是否订阅邮件
			是否启用 Web 通知
			回帖浏览模式
			分页每页条目
			自定义首页跳转
		设置常用表情
	界面
		切换主题
			Classic
			知乎
		模式
			明亮
			暗黑
			随日出日落自动切换
		头像浏览模式
			原图
			静态图
		帖子列表布局
			紧凑
			概览
	隐私
		是否显示 UA 信息
		是否公开帖子列表
		是否公开关注用户列表
		是否公开收藏帖子列表
		是否参与财富排行
		是否参与消费排行
		是否参与贡献排行
		是否参与 GitHub 排行
		是否公开积分列表
		是否公开回帖列表
		是否公开关注标签列表
		是否公开粉丝列表
		是否公开在线状态
		是否公开清风明月
		是否允许搜索引擎索引
		位置
			城市
			是否公开
	数据
		发帖/回帖数统计
		数据导出
	国际化
		常用语言设置
		所在时区设置
	钱包
		以太坊地址管理
		转账记录
	帮助
		使用入门
		基础知识
		键盘快捷键
		Markdown 教程
内容反垃圾
	随意的测试内容
	最大公共子串重复内容
	接入微信小程序内容安全接口
文件
	文件元数据
		文件名
		大小
		日期
		关联引用
		URL
	用户文件列表、总数、总大小
评论
	发布、更新、删除评论
	@通知
	点赞
	感谢

Sym功能.png

🎨 界面

以下截图来自 Sym 商业版。

首页

index

列表

list.png

帖子

article.png

发帖

post.png

用户 - PC 端

pchome.png

多主题

theme1.png

🛠️ 安装

请参考 Sym 安装指南

🏘️ 社区

📄 授权

  • 社区版:使用 AGPLv3 开源,如果你选择使用社区版,则必须完全遵守 AGPLv3 的相关条款;公司使用必须购买商用授权
  • 商业版:提供完整源码以便二开,报价 ¥20000,详情请看这里
  • 云服务:提供开箱即用的云端服务,每年 ¥5000(暂时售罄)

关于商业版和社区版的对比请看这里,企业网站、经营性网站、以营利为目的或实现盈利的网站请购买商业版。

🙏 鸣谢

  • jQuery:前端 JavaScript 工具库
  • Vditor: 浏览器端的 Markdown 编辑器
  • Highlight.js:前端代码高亮库
  • pjax:pushState + AJAX = pjax
  • Sass:前端 CSS 处理工具
  • jsoup:Java HTML 解析器
  • flexmark:Java Markdown 处理库
  • Apache Commons:Java 工具库集
  • Jodd:Java 工具库集
  • Latke:以 JSON 为主的 Java Web 框架

安全方面特别感谢: