1. 程式人生 > >JAVA開源仿知乎問答原始碼

JAVA開源仿知乎問答原始碼

專案說明

FlyCms 是一個類似知乎以問答為基礎的完全開源的JAVA語言開發的社交網路建站程式,基於 Spring Boot+Bootstrap3+MyBatis+MYSQL+Solr 應用架構,專注於社群內容的整理、歸類和檢索,它集合了問答,digg,wiki 等多個程式的優點,幫助使用者輕鬆搭建專業的知識庫和線上問答社群。

開放原始碼,便捷開發

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

彈性設計,任性定製

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

管理後臺,輕鬆掌控

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

輕快智慧,更懂社交

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

使用者互助,精準推送

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

使用說明:請保留頁面底部的 powered by 28844. com 感謝支援

線上地址: 28844.com | 文件地址

技術棧

  • JDK8
  • Spring-Boot
  • MyBatis
  • Freemarker
  • MySQL
  • Bootstrap3
  • Solr

特性

  • 社群相容性(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放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或者移動端的資料夾結構開發,然後進入後臺設定新加的模板即可。

反饋

http://www.28844.com

QQ群:211378508

提問題的時候請將問題重現步驟描述清楚