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 構思的這幾年: