# symphony
**Repository Path**: bedoing/symphony
## Basic Information
- **Project Name**: symphony
- **Description**: A modern community (forum/BBS/SNS/blog) platform implemented in Java. 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台。
- **Primary Language**: Java
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: https://sym.b3log.org
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 324
- **Created**: 2020-05-16
- **Last Updated**: 2024-05-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
The next generation of the community system, built for the future
中文
## 💡 Introduction
[Symphony](https://github.com/88250/symphony) is a modern community platform because it:
* Implemented a forum for content-oriented discussions
* Implemented a community for knowledge quiz
* Including social networks for user sharing, making friends, games
* `100%` open source
Welcome to [Sym Official Discussion Forum](https://hacpai.com/tag/sym) to learn more.
## ⚡ Motivation
Many community forum systems:
* The interface style is old-fashioned and has not kept pace with the development of the times
* Lack of innovative and fun features, lack of modern interactive elements and user experience
* Lack of consideration of actual operational needs, management function is too single
* The details are not exquisite and lack long-term maintenance
## 🗃 Showcases
* [HacPai](https://hacpai.com)
## ✨ Features
```
Content editor
---- Markdown (GFM)
---- Emoji
----upload files
--------image
--------file
-------- Render MP3 separately
-------- Render the video separately
---- Support recording
---- Clipboard processing
-------- Paste content processing as Markdown
-------- Paste pictures automatically re-upload
----@user
---- Mathematical formula (LaTeX), flow chart support
---- Shortcut key support
----toolbar
--------expression
-------- Bold
-------- Italic
-------- Quote
-------- Unordered List
-------- ordered list
--------link
-------- Upload
-------- Preview
--------full screen
---- Edit Mode
-------- Traditional Markdown split-screen editing preview
-------- Retain the instant rendering of Markdown markers
-------- WYSIWYG rich text editor
registered
----username
---- Email
---- Invitation code (if enabled by administrator)
---- Invitation link
---- Verification code
---- Mail verification
---- Novice Wizard
-------- Upload avatar
-------- Follow tags
-------- Follow users
-------- Help Guide
log in
---- Account (Username / Email)
----password
----forget password
-------- Email
-------- Verification code
Post
---- Post type
-------- City Radio
--------confidential
-------- Thoughts
-------- Q & A
-------- Ordinary post
----title
----text
-------- Content Editor
-------- Local storage
----label
-------- Use existing (select, auto complete) or create
--------filter
------------Black and white list
------------ Standardized
-------- The default "to be classified"
---- Insert vote
-------- Single / Multiple Choice
--------End Time
-------- Whether the public voter
---- Reward Area
-------- Content Editor
-------- Reward Points
---- Post anonymously
-------- Anonymous status cannot be updated
---- After release
-------- Updatable
------------historic version
-------- Can be deleted
---- Sandbox mechanism
Reply
---- Content Editor
---- Local storage
---- Post anonymously
---- Is it visible only to the landlord
---- @ Participant
---- @ SINGLE USER
---- Reply (reply for reply, @ for user)
---- @ V (Xiaowei Robot)
---- After release
-------- Updatable
------------historic version
-------- Can be deleted
---- Follow posts automatically
Activity
---- Number of posts
---- Number of Replies
---- Number of events
---- Thanks for the number of posts
---- Thanks for the number of replies
---- Number of answers accepted
---- Number of votes
---- Number of reward posts
----viewing count
integral
---- Point Rules
---- Recharge
----withdraw
currency
---- Wallet Address Management (ETH)
---- Currency Management
Browse Reply
---- Browse mode
-------- Tradition
--------real time
----thank
---- Adopt the answer
---- Agree
---- against
---- Report
----fold
--------away from the theme
-------- Obsolete
----share it
---- Reply highlight
-------- adopted answer
-------- Quality Reply
-------- Reddit Comment Sorting Algorithm
---- View reply
---- View quotes (original reply)
---- Edit your own reply
---- View history
---- Citation Statistics
Browse posts
---- Real-time heat
----thank
---- Agree
---- against
---- Collection
----attention
---- Report
---- Stick to your own post
---- View history
----Vote
----table of Contents
---- Edit your own post
---- Publishing time / views / replies / tags
---- Thought Play / Quick Preview
---- Voice summary playback
---- Branch theme
----previous, Next
----share it
-------- WeChat
-------- QQ
-------- Weibo
-------- Twitter
-------- Share link (with user logo)
----Related Posts
---- Abbreviated summary
---- Photo Agency
---- Crawler Statistics
---- Citation Statistics
Post list
----field
--------Related tags
----up to date
---- Preferred
---- Same City
----search for
----label
--------Related tags
--------creator
-------- Contributor
-------- Follow / Cite / Reply
-------- Field
--------attention
---- Sort
-------- Default (descending order by release time)
-------- Hot discussion (in descending order according to the number of replies)
-------- Comment (descending order by rating)
-------- Recent Replies (in descending order of the most recent replies)
---- The first picture
---- Real-time heat
----Latest Reply
---- Number of Replies
---- Have you checked the post (front-end style)
---- Creation time
Backstage management
----Background Home
-------- Data Statistics
------------ Currently online
------------ Member Online
------------ The highest online
------------member
------------ Post
------------field
------------label
------------ Reply
-------- Version Check
----User Management
-------- Search by username / mail
-------- Add new user
-------- User Data Maintenance
------------ Data of each field
------------user status
----------------normal
----------------Unverified
---------------- Restrict login
---------------- ban
------------ Advanced Update
----------------username
----------------email address
------------ Points Recharge
------------ Points withdrawal
------------ Activity Points Reward
------------ Deduction of violation points
------------ Compensation initialization integral
---- Post Management
-------- Search posts by id
-------- Rebuild all posts search index
-------- Add new post
-------- Post data maintenance
------------ Data of each field
------------ Sticky / Cancel Sticky
------------ Rebuild the search index
------------ Telegram group push
------------ Lock Post
------------ Delete post
---- Reply Post Management
-------- Reply Status
------------normal
------------ Banned
-------- Content data
-------- delete reply
---- Comment Management
-------- Comment status
-------- Content data
-------- Delete comment
---- Breeze and Bright Moon Management
-------- State of Breeze and Bright Moon
-------- Content data
-------- Delete the breeze and bright moon
---- Chat room management
-------- Content data
--------status
---- File Management
---- Domain Management
-------- Search field by name
-------- Add field
-------- Domain Data Maintenance
------------ Add / Remove related tags
------------name
------------ URI
------------description
------------icon
------------ Whether it is used for navigation
------------status
------------ CSS
------------ SEO
---------------- title
---------------- keywords
---------------- description
------------ Delete field
---- Tag Management
-------- Search tags by name
--------add tag
-------- Label data maintenance
------------name
------------ URI
------------description
------------icon
------------status
------------ CSS
------------ SEO
---------------- title
---------------- keywords
---------------- description
---- Reserved word management
-------- Add reserved words
-------- Reserved word data maintenance
------------ Content of reserved words
------------ Delete reserved words
---- Invitation code management
-------- Generate invitation code
-------- Invitation code data maintenance
------------status
----------------Unused
----------------Used
---------------- Disabled
------------ Remarks
---- Advertising Management
-------- Home Booth
-------- Home page top banner booth
-------- Sidebar Booth
-------- Post peripheral booth
-------- In-post booth
-------- User Homepage Booth
-------- Post List Booth
---- Role Management
-------- Built-in characters
------------administrator
------------ Honorary Member
------------ Senior Member
------------member
------------ Novice
------------ Guest
--------Creating a Role
-------- Function permissions
---- Report Management
-------- Processing (rewards whistleblower points)
--------ignore
---- Audit Management
-------- Post / Update Audit
------------ Post review
------------ Reply to Post Review
------------ Comment review
-------- Through, adjustable content
-------- Refuse, can inform the author by remarks
-------- Notify the author of the audit results
---- Other management
-------- Is it allowed to post
-------- Is it allowed to reply
-------- Whether to allow anonymous browsing
--------way to register
------------ Open registration
------------ Close registration
------------ Invitation code registration
-------- Whether post browsing count is rearranged
-------- Language
------------ Press browser to automatically select
------------Simplified Chinese
------------American English
-------- Do not show the label of the list
---- Management operation audit log
--------user
--------time
-------- Specific operation
-------- IP
-------- UA
Browse statistics
---- Real-time statistics
-------- Currently online
-------- The highest online
--------member
-------- Post
--------field
--------label
-------- Reply
-------- Page load time
---- Data Statistics
-------- Last 30 days
--------history
-------- Number of new replies
-------- New posts
-------- Number of new users
notification
---- Number of messages
---- Mark read
----delete
---- Message category
-------- Reply received
-------- Response received
-------- Comments received
-------- mention me
------------ Post @
------------ Reply Post @
------------ Comment @
------------ Collection
------------attention
--------I am concerned
------------ Following users post
------------ Following posts
---------------- Poster has updates
---------------- Post someone back
--------integral
------------ Thanks for the post
------------ Thanks for replying
------------ Adopt the answer
------------ Reward Post
------------ Recharge
------------exchange
-------
```
* [Sym Introduction PPT](https://sym.b3log.org/syme-intro.pptx)
* [Sym Function Mind Map](http://naotu.baidu.com/file/cd31354ac9abc047569c73c560a5a913)
[](http://naotu.baidu.com/file/cd31354ac9abc047569c73c560a5a913)
## 🎨 Screenshots
**Index**

**List**

**Article**

**Post**

**User - PC**

**Theme**

## 🛠️ Setup
Please visit [Sym Setup Guide](https://hacpai.com/article/1486188905847).
## 🏘️ Community
* [Forum](https://hacpai.com/tag/sym)
* [Issues](https://github.com/88250/symphony/issues/new/choose)
## 📄 License
* The community edition uses AGPLv3 as open source. If you choose to use the community version, you must fully comply with the relevant terms of AGPLv3.
## 🙏 Acknowledgement
* [jQuery](https://github.com/jquery/jquery): Front-end JavaScript tool library
* [Vditor](https://github.com/Vanessa219/vditor): In-browser Markdown editor
* [Highlight.js](https://github.com/isagalaev/highlight.js): Front-end code syntax highlighting library
* [pjax](https://github.com/defunkt/jquery-pjax):pushState + AJAX = pjax
* [Sass](http://sass-lang.com): Front-end CSS processing tool
* [jsoup](https://github.com/jhy/jsoup): Java HTML parser
* [flexmark](https://github.com/vsch/flexmark-java): Java Markdown processor
* [Apache Commons](http://commons.apache.org): Java commons library
* [Jodd](https://github.com/oblac/jodd): Java tool library
* [Latke](https://github.com/88250/latke): Java Web framework based on JSON
Special thanks for security:
* [Acmesec(Hi-OurLife)](http://www.hi-ourlife.com)
* [@gh0stkey](https://github.com/gh0stkey)
* [@SeagullGR](https://github.com/SeagullGR)
* [chaitin.cn](https://www.chaitin.cn)