JAVA開源仿知乎問答原始碼
專案說明
FlyCms 是一個類似知乎以問答為基礎的完全開源的JAVA語言開發的社交網路建站程式,基於 Spring Boot+Bootstrap3+MyBatis+MYSQL+Solr 應用架構,專注於社群內容的整理、歸類和檢索,它集合了問答,digg,wiki 等多個程式的優點,幫助使用者輕鬆搭建專業的知識庫和線上問答社群。
開放原始碼,便捷開發
基於Spring Boot版本開發,利用成熟開發技術,開放系統原始碼和開發文件,讓二次開發更容易。
彈性設計,任性定製
UI設計簡約又靈活, Bootstrap定製模板讓使用者自由發揮,讓自己的社群更具獨特個性。
管理後臺,輕鬆掌控
管理後臺功能實用簡約,只需輕點功能開關,即可完成系統配置,屬於你的知識社群一揮而就。
輕快智慧,更懂社交
FlyCms比論壇更開放,比資訊網站更瞭解使用者,以使用者為中心,更懂社交,更注重內容的分析和分享。
使用者互助,精準推送
使用者之間相互解答,分享產品使用心得,只向用戶推送自己關心的訊息,擴大價值,壓縮干擾。
使用說明:請保留頁面底部的 powered by 28844. com 感謝支援
技術棧
- JDK8
- Spring-Boot
- MyBatis
- Freemarker
- MySQL
- Bootstrap3
- Solr
特性
- 社群相容性(IE9+)
- 頁面自適應佈局
- 本地登入,手機註冊, 郵件註冊
- 登入時有驗證碼,嘗試登入次數的限制
- 使用
Spring-Boot
開發 - MyBatis操作資料庫
- 目前sql語句只支援MySQL,如果要切換資料庫,需要手動修改程式碼
- Solr提供搜尋和前臺部分頁面列表查詢和分頁
網站功能
前臺功能
- 問答欄目,使用者可釋出獎勵積分邀請回答問題
- 答案發布管理統計等等;
- 文章欄目,專家專欄,後臺設定專家組可釋出專業性文章資訊
- 文章欄目可分類,文章欄目目前可無限極分類
- 分享欄目,使用者可分享釋出如百度網盤資源地址,電影地址等等,賺取積分
- 各個欄目話題聚合內容,話題可編輯刪除,稽核;
- 使用者個人首頁,可檢視自己關注的使用者和自己釋出的內容
- 使用者內容收藏
- 使用者積分管理充值
- 使用者繫結手機號碼
- 使用者繫結郵箱地址
- 使用者密碼找回
- 使用者手機號碼註冊,需後臺繫結運營商API;
- 使用者邀請註冊獎勵
網站後臺
- 網站運營基本資訊編輯
- 使用者註冊相關資訊管理
- 使用者手機運營商資訊管理(目前只支援阿里大魚)
- 網站傳送郵箱繫結,郵箱模板設定
- 會員資訊管理、稽核
- 問答管理
- 答案管理
- 文章管理、文章分類
- 話題管理
- 分享管理
- 積分獎勵規則管理
二次開發準備
- 開發環境要在IDE裡裝上lombok外掛,否則編譯器會報錯
- 程式部署建議使用Maven的assembly外掛實現自定義打包方式
- 專案已經接入了solr,程式安裝需要先執行solr,solr已除錯好,可直接啟動,使用方法可訪問官網檢視;
- 專案用到了阿里大於jar包,Maven時無法使用,可以下載doc/dysmsapi.zip,然後放本地的Maven的.m2\repository\com\alibaba\aliyun\目錄下
- 搜尋和首頁列表後期大部分前臺列表準備都使用solr,所以要先下載目錄下的solr,然後執行後啟動程式,不然報錯!
-
比如solr放E:/盤下面,首先開啟CMD視窗
-
e:
回車 -
cd e:/solr/bin
回車 -
solr start -p 8983
回車,等待啟動成功 -
solr stop -p 8983
這個是停止solr命令 -
建立資料庫pybbs, 字符集utf8,如果想支援emoji,就要選擇utf8mb4字符集(僅限使用MySQL資料庫)
-
git clone https://gitee.com/could/FlyCms
-
執行
mvn spring-boot:run
啟動專案 (這一步系統會自動把表建立好) -
將專案下的
/doc/flycms.sql
檔案匯入到資料庫 -
前臺頁面訪問 `http://localhost
-
後臺頁面訪問
http://localhost/admin/login
使用者名稱: admin 密碼: 123456
打包部署開發環境
- 建立資料庫flycms, 字符集utf8,如果想支援emoji,就要選擇utf8mb4字符集(僅限使用MySQL資料庫)
- 將專案裡的application.yml檔案複製一份,重新命名application-prod.yml,並修改裡面的配置項
- 執行
mvn clean compile package
- 拷貝
target/FlyCms.jar
到你想存放的地方 - 執行
java -jar FlyCms.jar --spring.profiles.active=prod > FlyCms.log 2>&1 &
專案就在後臺運行了 - 將專案下的
init.sql
檔案匯入到資料庫 - 關閉服務執行
ps -ef | grep FlyCms.jar | grep -v grep | cut -c 9-15 | xargs kill -s 9
- 檢視日誌執行
tail -200f FlyCms.log
關於主題
本專案配置的結構目錄非常方便主題開發,如果你想適配一套自己喜歡的主題,可以按照 views/templates
目錄下的PC或者移動端的資料夾結構開發,然後進入後臺設定新加的模板即可。
反饋
QQ群:211378508
提問題的時候請將問題重現步驟描述清楚