基於SpringBoot+MyBatis開源知識問答管理系統

項目說明

FlyCms 是一個類似知乎以問答為基礎的完全開源的JAVA語言開發的社交網絡建站程序,基於 Spring Boot+Bootstrap3+MyBatis+MYSQL+Solr+Ehcache 應用架構,專注於社區內容的整理、歸類和檢索,它集合了問答,digg,wiki 等多個程序的優點,幫助用戶輕鬆搭建專業的知識庫和在線問答社區。 業務模塊包括:權限管理,會員管理,角色管理,定時任務管理(調度管理),問答管理,文章管理,分享管理,短信接口管理和郵件系統發送(註冊、找回密碼、郵件訂閱),跨域登錄,消息推送,全文檢索、前端國際化等等眾多模塊等您自己來體驗!

開放源碼,便捷開發

基於Spring Boot版本開發,利用成熟開發技術,開放系統源碼和開發文檔,讓二次開發更容易。

彈性設計,任性定製

UI設計簡約又靈活, Bootstrap定製模板讓用戶自由發揮,讓自己的社區更具獨特個性。

管理後臺,輕鬆掌控

管理後臺功能實用簡約,只需輕點功能開關,即可完成系統配置,屬於你的知識社區一揮而就。

輕快智能,更懂社交

FlyCms比論壇更開放,比資訊網站更瞭解用戶,以用戶為中心,更懂社交,更注重內容的分析和分享。

用戶互助,精準推送

用戶之間相互解答,分享產品使用心得,只向用戶推送自己關心的消息,擴大價值,壓縮干擾。

在線地址: https://www.28844.com/

技術棧

  • JDK8
  • Spring-Boot
  • MyBatis
  • Freemarker
  • MySQL
  • Bootstrap3
  • Solr
  • Quartz
  • i18n
  • Ehcache

特性

  • 社區兼容性(IE9+)
  • 頁面自適應佈局
  • 本地登錄,手機註冊, 郵件註冊
  • 登錄時有驗證碼,嘗試登錄次數的限制
  • 使用 Spring-Boot 開發
  • MyBatis操作數據庫
  • 目前sql語句只支持MySQL,如果要切換數據庫,需要手動修改代碼
  • Solr提供搜索和前臺部分頁面列表查詢和分頁

網站功能

前臺功能

  • 問答欄目,用戶可發佈獎勵積分邀請回答問題
  • 答案發布管理統計等等;
  • 文章欄目,專家專欄,後臺設置專家組可發佈專業性文章資訊
  • 文章欄目可分類,文章欄目目前可無限極分類
  • 分享欄目,用戶可分享發佈如百度網盤資源地址,電影地址等等,賺取積分
  • 各個欄目話題聚合內容,話題可編輯刪除,審核;
  • 用戶個人首頁,可查看自己關注的用戶和自己發佈的內容
  • 用戶內容收藏
  • 用戶積分管理充值
  • 用戶綁定手機號碼
  • 用戶綁定郵箱地址
  • 用戶密碼找回
  • 用戶手機號碼註冊,需後臺綁定運營商API;
  • 用戶邀請註冊獎勵

網站後臺

  • 網站運營基本信息編輯
  • 用戶註冊相關信息管理
  • 用戶手機運營商信息管理(目前只支持阿里大魚)
  • 網站發送郵箱綁定,郵箱模板設置
  • 會員信息管理、審核
  • 問答管理
  • 答案管理
  • 文章管理、文章分類
  • 話題管理
  • 分享管理
  • 友情鏈接管理
  • 積分獎勵規則管理
  • 違禁關鍵詞、敏感詞過濾設置
  • 增加定時任務管理,通過後臺設置啟動、關閉,執行任務日誌

二次開發準備

  1. 開發環境要在IDE裡裝上lombok插件,否則編譯器會報錯
  2. 程序部署建議使用Maven的assembly插件實現自定義打包方式
  3. 項目已經接入了solr,程序安裝需要先運行solr,solr已調試好,可直接啟動,使用方法可訪問官網查看;
  4. 項目用到了阿里大於jar包,Maven時無法使用,可以下載doc/dysmsapi.zip,然後放本地的Maven的.m2\repository\com\alibaba\aliyun\目錄下
  5. 搜索和首頁列表後期大部分前臺列表準備都使用solr,所以要先下載目錄下的solr,然後運行後啟動程序,不然報錯!

solr原來的目錄裡上傳的時候jar文件無法上傳,壓縮後提示上傳文件不能大於10MB

Windows下solr啟動

  • 比如solr放E:/盤下面,首先打開CMD窗口
  • e: 回車
  • cd e:/solr/bin 回車
  • solr start -p 8983 回車,等待啟動成功
  • solr stop -p 8983 這個是停止solr命令

Linux下啟動

  • cd /root/webapp/solr
  • ./bin/solr start -p 8983 -force 回車,等待啟動成功
  • ./bin/solr stop -p 8983 -force 這個是停止solr命令
  • 創建數據庫pybbs, 字符集utf8,如果想支持emoji,就要選擇utf8mb4字符集(僅限使用MySQL數據庫)
  • git clone https://gitee.com/could/FlyCms
  • 將項目下的 /doc/flycms.sql 文件導入到數據庫
  • 前臺頁面訪問 http://localhost
  • 後臺頁面訪問 http://localhost/system/login 用戶名: flycms 密碼: 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 & 項目就在後臺運行了
  • 將項目下的 flycms.sql 文件導入到數據庫
  • 關閉服務運行 ps -ef | grep FlyCms.jar | grep -v grep | cut -c 9-15 | xargs kill -s 9
  • 查看日誌運行 tail -200f FlyCms.log

建議用assembly打包方式

前端標籤使用示範

 

@fly_userpower>
  • IDEA打包
基於SpringBoot+MyBatis開源知識問答管理系統

  • 打包後的的文件目錄結構,resources目錄裡只要application.yml一個文件就可以了
基於SpringBoot+MyBatis開源知識問答管理系統

注意事項

  • 由於數據庫內容被我清空了,有時候我上傳的solr裡的數據我可能沒清空,導致首頁及頻道頁面查詢不到數據會報錯,解決方法:運行solr前進入E:\solr\server\solr\info\data 目錄下刪除裡面的三個文件夾即可,後期會增加後臺刪除功能

關於主題

項目配置的結構目錄非常方便主題開發,如果你想適配一套自己喜歡的主題,可以按照 views/templates 目錄下的PC或者移動端的文件夾結構開發,然後進入後臺設置新加的模板即可。

頁面部分演示截圖

基於SpringBoot+MyBatis開源知識問答管理系統

基於SpringBoot+MyBatis開源知識問答管理系統

基於SpringBoot+MyBatis開源知識問答管理系統

項目地址

https://github.com/sunkaifei/FlyCms


分享到:


相關文章: