java实现社交平台_GitHub - akpaul9527/symphony: 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台。...

af7ed229d3bc1b3bdf15313adebe910b.png

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

68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f62336c6f672f73796d70686f6e792e7376673f7374796c653d666c61742d737175617265

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f636f64652d73697a652f62336c6f672f73796d70686f6e792e7376673f7374796c653d666c61742d737175617265

687474703a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4147504c76332d6f72616e67652e7376673f7374796c653d666c61742d737175617265

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f62336c6f672f73796d70686f6e792e7376673f7374796c653d666c61742d737175617265

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652d646174652f62336c6f672f73796d70686f6e792e7376673f7374796c653d666c61742d73717561726526636f6c6f723d393943434646

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f62336c6f672f73796d70686f6e792f746f74616c2e7376673f7374796c653d666c61742d737175617265

68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f62336c6f672f73796d70686f6e792e7376673f7374796c653d666c61742d73717561726526636f6c6f723d626c756576696f6c6574

68747470733a2f2f696d672e736869656c64732e696f2f6d6963726f6261646765722f696d6167652d73697a652f62336c6f672f73796d70686f6e792e7376673f7374796c653d666c61742d73717561726526636f6c6f723d666639366234

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6d6d69742d61637469766974792f6d2f62336c6f672f73796d70686f6e792e7376673f7374796c653d666c61742d737175617265

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f62336c6f672f73796d70686f6e792e7376673f7374796c653d666c61742d73717561726526636f6c6f723d464639393030

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722d636c6f7365642f62336c6f672f73796d70686f6e792e7376673f7374796c653d666c61742d73717561726526636f6c6f723d464639393636

68747470733a2f2f686974732e62336c6f672e6f72672f62336c6f672f73796d70686f6e792e737667

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f62336c6f672f73796d70686f6e792e7376673f6c6162656c3d5761746368657273267374796c653d736f6369616c  

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f62336c6f672f73796d70686f6e792e7376673f6c6162656c3d5374617273267374796c653d736f6369616c  

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f62336c6f672f73796d70686f6e792e7376673f6c6162656c3d466f726b73267374796c653d736f6369616c  

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f6c6c6f776572732f38383235302e7376673f6c6162656c3d466f6c6c6f77657273267374796c653d736f6369616c

简介

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

实现了面向内容讨论的论坛

实现了面向知识问答的社区

包含了面向用户分享、交友、游戏的社交网络

100% 开源

动机

很多社区论坛系统:

界面风格老式,没有跟上时代发展的步伐

缺少创新、好玩的特性,缺少现代化的交互元素和用户体验

缺乏考虑实际运营需求,管理功能过于单一

细节不够精致、缺乏长期维护

客户案例

社区版:

商业版:

功能

456632e73c4b85643201dd38da04e6d8.png

界面

以下截图来自 Sym 商业版。

首页

43eb42d34aa416e6b3afe3e8dcce04ef.png

列表

2c484a6cd14fba5e898e37afcb8dea94.png

帖子

8f2e771c7b1906254edcf06e3f9dbe13.png

发帖

b385ad91cd8363edaa97e8c5895746cb.png

用户 - PC 端

0957463d7460492aaab437ea3c090798.png

多主题

c0b74308f524af4330a1e460c9f97b96.png

安装

先在 MySQL 中手动建库(库名 symphony,字符集使用 utf8mb4,排序规则 utf8mb4_general_ci),然后按照如下方式之一启动服务。

war 包启动

下载最新的 Sym 包解压,进入解压目录执行:

Windows: java -cp "WEB-INF/lib/*;WEB-INF/classes" org.b3log.symphony.Starter

Unix-like: java -cp "WEB-INF/lib/*:WEB-INF/classes" org.b3log.symphony.Starter

如果要将 war 包部署到 Servlet 容器中启动请参考安装指南。

Docker 部署

获取最新镜像:

docker pull b3log/symphony

启动容器:

docker run --detach --name sym --network=host \

--env RUNTIME_DB="MYSQL" \

--env JDBC_USERNAME="root" \

--env JDBC_PASSWORD="123456" \

--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \

--env JDBC_URL="jdbc:mysql://127.0.0.1:3306/symphony?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \

b3log/symphony --listen_port=8080 --server_scheme=http --server_host=localhost

为了简单,使用了主机网络模式来连接主机上的 MySQL。

启动参数说明:

--listen_port:进程监听端口

--server_scheme:最终访问协议,如果反代服务启用了 HTTPS 这里也需要改为 https

--server_host:最终访问域名或公网 IP,不要带端口号

完整启动参数的说明可以使用 -h 来查看。

文档

授权

社区版:使用 AGPLv3 开源,如果你选择使用社区版,则必须完全遵守 AGPLv3 的相关条款

商业版:提供完整源码以便二开,报价 ¥20000

云服务:提供开箱即用的云端服务,每年 ¥5000

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

欢迎联系 QQ 845765 或邮箱 d@b3log.org 进行细节咨询。

社区

鸣谢

jQuery:前端 JavaScript 工具库

Vditor: 浏览器端的 Markdown 编辑器

pjax:pushState + ajax = pjax

MathJax:前端数学公式渲染引擎

Sass:前端 CSS 处理工具

jsoup:Java HTML 解析器

flexmark:Java Markdown 处理库

Jodd:Java 工具库集

Latke:以 JSON 为主的 Java Web 框架

安全方面特别感谢:

开源项目推荐

如果你需要搭建一个个人博客系统,可以考虑使用 Solo

如果你需要搭建一个多用户博客平台,可以考虑使用 Pipe

欢迎加入我们的小众开源社区,详情请看这里

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396274.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

精通java益处_你真的精通Java吗?

简历和自我介绍上经常能够读到“精通Java”这样的话,有人和我说,精通Java的人太多了,精通Java已经不能算亮点、不能给自己加分了。可是事实真是这样吗?对于语言的学习,我有一种观点,一是纵向,即…

python 遍历usb设备_python程序员教你写脚本玩微信跳一跳,只要有耐心,你就是王者!...

温馨提示:微信已经开始检测分数异常高的情况了,请大家不要跑太高哦游戏模式这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。可能刚开始上手的时候,因为时间距离之间的关系把握不…

一个电脑同时运行 64bit 和 32bit 的eclipse 如何匹配 jdk环境

一个电脑同时运行 64bit 和 32bit 的 eclipse 如何匹配 jdk环境 1 eclipse 分 64bit 和 32bit 两种. 64bit的eclipse 只能搭配 64bit的 jdk 使用. 32bit的eclipse 只能搭配 32bit的 jdk 使用. 2 电脑上安装好 32bit 和 64bit 的 jdk ,分别安装在不同的路径中. 比如我的3…

2016/4/19 ①单个文件上传 ②上传图片后 预览图片

1&#xff0c;f1.php <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title> </head> <body> <!-- 作业:在网上找上传图片预览的代码 上传服务器 再预览--> <fo…

Android项目里集成Cordova详解

2019独角兽企业重金招聘Python工程师标准>>> 一 安装nodejs二 cmd创建Android项目三 导入工程 运行一下四 调用插件五 Android studio环境下将CordovaLib作为依赖导入六 自定义插件七 java类中的一些问题八 在CordovaActivity中添加原生View组件 九 在Fragment里使用…

php 判断浏览器是ie,js判断是否是ie浏览器

怎么去看浏览器的内核等信息 ---- js的全局对象window子属性navigator.userAgent&#xff0c;这个属性是包含了浏览器信息的相关信息&#xff0c;包括我们需要的浏览器内核navigator.userAgent这个值取出来是个字符串&#xff0c;可以通过string的 indexOf方法或者正则匹配来验…

【JAVA基础】一:聊聊笔试常见到的 “==、equal” 比较是否相等的内在差别

开始本文之前&#xff0c;先让我们记住一个口诀&#xff08;这个口诀只针对基础的类比如String、Integer等&#xff0c;如果是自定义的类&#xff0c;需要看equal的具体实现&#xff09;&#xff1a;equal比较其值&#xff0c; 比较地址 这两天在走查代码的时候发现一个童鞋&am…

java 有参数的构造函数如何注入_Spring5参考指南:依赖注入

依赖注入依赖注入就是在Spring创建Bean的时候&#xff0c;去实例化该Bean构造函数所需的参数&#xff0c;或者通过Setter方法去设置该Bean的属性。Spring的依赖注入有两种基于构造函数的依赖注入和基于setter的依赖注入。基于构造函数的依赖注入构造函数的注入是通过构造函数的…

C#学习笔记四: C#3.0自动属性匿名属性及扩展方法

前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好处, 下一遍会单独介绍Lambda表达式. 这篇主要包括的内容有: 自动属性,隐式类型,对象集合初始化…

mongdb集群3.4 shard 模式

从图中可以看到有四个组件&#xff1a;mongos、config server、shard、replica set。mongos&#xff1a;数据库集群请求的入口&#xff0c;所有的请求都通过mongos进行协调&#xff0c;不需要在应用程序添加一个路由选择器&#xff0c;mongos自己就是一个请求分发中心&#xff…

alpha值计算 qcolor_量化交易与机器学习(四):如何研究alpha因子

算法交易策略由指示何时购买或出售资产以产生相对于基准&#xff08;例如指数&#xff09;的较高回报的信号驱动。 资产回报率中未通过暴露于该基准而无法解释的部分称为alpha&#xff0c;因此旨在产生这种不相关收益的信号也称为alpha因子。本章主要介绍alpha因子一、从数据到…

项目启动及需求分析(靳嘉豪、胡新宇、李晨曦、杨航、李瑶)团队作业

&#xff08;1&#xff09; 这次团队我们给我们团队起的名字是&#xff1a;桥上吊刀刀倒吊着 队员分别为&#xff1a;靳嘉豪、胡新宇、李晨曦、李瑶、杨航。 队训为&#xff1a;黑化肥挥发发灰会挥发。 胡新宇&#xff1a;http://www.cnblogs.com/hxy94264/ 靳嘉豪&#xff1a;…

20155229 实验一《Java开发环境的熟悉》实验报告

20155229 实验一《Java开发环境的熟悉》实验报告 实验内容 1.使用JDK编译、运行简单的Java程序&#xff1b; 2.使用Idea 编辑、编译、运行、调试Java程序。 实验步骤 &#xff08;一&#xff09;命令行下Java程序开发 输入 mkdir 20155229命令建立实验目录&#xff0c;用ls查看…

PHP代码20个实用技巧(转)

这些技巧特别是封装的&#xff0c;相对路径的还是挺好的&#xff0c;本身来自微信公众号&#xff0c;但是我担心以后删除&#xff0c;所以在我的博客上备份一下&#xff08;微信公众号为:菜鸟教程&#xff09; 在这篇文章中我们将看看一些关于PHP开发有用的提示和技巧&#xff…

python基础数据类型的相关知识点

1、字符串的函数join >>> s "Hello" >>> s1 s.join("你好")#将字符串Hello插入到你好中 >>> s1 你Hello好 >>> s2 "Tanxu".join("你好吗")#将字符串Tanxu插入到你好吗中 >>> s2 你Ta…

最长无重复字符子串?

2019独角兽企业重金招聘Python工程师标准>>> 题目要求&#xff1a; 给定一个字符串S&#xff0c;在该字符串中找到一个最长的没有重复字符的子串。 转载于:https://my.oschina.net/datacube/blog/875545

selenium框架安装及webdriver安装

本文介绍的是selenium安装及webdriver安装、小实例 1、selenium介绍 selenium是一个用于web应用程序测试的工具。 Selenium测试直接运行在浏览器&#xff0c;就向真正的用户操作一样。 支持的浏览器包括IE(7,8,9,10,11),Mazilla Firefox,Safari,Google Chrome,OperaL浏览器 这个…

突然想到了王自如

刚刚不知道为什么突然想到了王自如。可能是因为下午在腾讯视频首页看到了老罗罗永浩的一个访谈节目&#xff0c;然后神经元一短路的原因吧。 想到王自如不禁又联想到了王自如和罗永浩的那场著名的撕逼之战。场面上王自如是被罗老师教做人的一个结果。然后就很长时间没有听到关于…

UOJ Test Round 3

A.几何冲刺 感觉自己的智商爆炸。 显然是按照极角序排列之后依次加点&#xff0c;判断是否有点。 保证一个点在两个角的范围内就OK了啊&#xff0c;想了半天叉积。。。 #include "triangles.h" #include <bits/stdc.h> #define for1(a,b,i) for(int ia,end_b;i…

PPP认证方式pap chap chap2

2019独角兽企业重金招聘Python工程师标准>>> PPP点到点协议&#xff08;Point to Point Protocol&#xff0c;PPP&#xff09;是IETF&#xff08;Internet Engineering Task Force&#xff0c;因特网工程任务组&#xff09;推出的点到点类型线路的数据链路层协议。它…