項目說明
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;
- 用戶邀請註冊獎勵
網站後臺
- 網站運營基本信息編輯
- 用戶註冊相關信息管理
- 用戶手機運營商信息管理(目前只支持阿里大魚)
- 網站發送郵箱綁定,郵箱模板設置
- 會員信息管理、審核
- 問答管理
- 答案管理
- 文章管理、文章分類
- 話題管理
- 分享管理
- 友情鏈接管理
- 積分獎勵規則管理
- 違禁關鍵詞、敏感詞過濾設置
- 增加定時任務管理,通過後臺設置啟動、關閉,執行任務日誌
二次開發準備
- 開發環境要在IDE裡裝上lombok插件,否則編譯器會報錯
- 程序部署建議使用Maven的assembly插件實現自定義打包方式
- 項目已經接入了solr,程序安裝需要先運行solr,solr已調試好,可直接啟動,使用方法可訪問官網查看;
- 項目用到了阿里大於jar包,Maven時無法使用,可以下載doc/dysmsapi.zip,然後放本地的Maven的.m2\repository\com\alibaba\aliyun\目錄下
- 搜索和首頁列表後期大部分前臺列表準備都使用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打包
- 打包後的的文件目錄結構,resources目錄裡只要application.yml一個文件就可以了
注意事項
- 由於數據庫內容被我清空了,有時候我上傳的solr裡的數據我可能沒清空,導致首頁及頻道頁面查詢不到數據會報錯,解決方法:運行solr前進入E:\solr\server\solr\info\data 目錄下刪除裡面的三個文件夾即可,後期會增加後臺刪除功能
關於主題
項目配置的結構目錄非常方便主題開發,如果你想適配一套自己喜歡的主題,可以按照 views/templates 目錄下的PC或者移動端的文件夾結構開發,然後進入後臺設置新加的模板即可。
頁面部分演示截圖
項目地址
https://github.com/sunkaifei/FlyCms
閱讀更多 struggledhard 的文章