Focus聚焦社群v0.1.0 beta版本釋出啦~!新年第一發!第一次給你!~
此版本為社群的第一個釋出版本,還有很多待完善的功能等待大家發現。也誠請各位小夥伴們關注GoFrame項目發展,為生态添磚加瓦,加油助力!
零、關于Focus
Focus聚焦社群是GoFrame社群項目,采用了簡潔強大的GoFrame作為後端WEB架構, 由于前台系統需要SEO是以使用了GF自帶template模闆引擎,資料庫用MySQL,前端使用jQuery/bootstrap架構。
一、源碼位址
github:https://github.com/gogf/focus
gitee:https://gitee.com/johng/focus
二、示範位址
請不要惡意發送垃圾資料哦~ 位址:https://focus.goframe.org/
三、安裝部署
1、下載下傳項目源碼: git clone [https://github.com/gogf/focus](https://github.com/gogf/focus)
2、建立focus資料庫:
3、運作document下focus.sql初始化資料庫SQL。
4、複制config下config.example.toml為config.toml配置檔案,其他配置根據需要自行調整。
5、運作:go run main.go
6、通路 http://127.0.0.1:8199 即可看到登入頁面,預設賬号/密碼:goframe / 123456
1、安裝gf-cli工具鍊,詳情檢視:開發工具
2、打包指令:執行 gf build 即可,具體配置請參考:build 交叉編譯
3、打包結果:預設 linux/macos/windows 三個版本。
4、将config.toml和focus放到同一級目錄,啟動focus即可。
預設配置檔案配置中,會将public,template目錄進行二進制打包,随着可執行檔案一同釋出。是以,釋出時僅需要将config.toml和focus拷貝到目标伺服器運作即可。此外,您也可以考慮将特定的配置檔案用打包釋出,那麼釋出時僅需要釋出focus可執行檔案即可。
如果您想同時打包配置檔案到可執行檔案中,那麼您可以同時參考一下關于預設配置檔案讀取的修改方式:配置管理裡#預設檔案修改
四、項目結構
五、目錄說明
目錄/檔案名稱
說明
描述
app
業務邏輯層
所有的業務邏輯存放目錄。
- dao
資料通路
資料庫的通路操作,僅包含最基礎的資料庫CURD方法。
- model
資料模型
存放資料相關的實體結構定義。
- system
系統子產品
内部可能包含多個子系統,不同子系統之間資源互相隔離。
- index
前端頁面
子系統,前端頁面。
- internal
内部子產品
系統内部子產品,僅供目前内部系統調用,無法在系統間共享。
- api
業務接口
系統内部接收/解析使用者輸入參數的入口/接口層
- define
結構定義
系統内部的輸入、輸出資料結構定義。
- service
邏輯封裝
系統内部業務邏輯封裝,實作特定的業務需求。
config
配置管理
所有的配置檔案存放目錄。
docker
鏡像檔案
Docker鏡像相關依賴檔案,腳本檔案等等。
document
項目文檔
Documentation項目文檔,如: 設計文檔、幫助文檔等等。
library
公共庫包
公共的功能封裝包,往往不包含業務需求實作。
packed
打包目錄
将資源檔案打包的Go檔案存放在這裡,boot包初始化時會自動調用。
public
靜态目錄
僅有該目錄下的檔案才能對外提供靜态服務通路。
template
模闆檔案
MVC模闆檔案存放的目錄。
Dockerfile
鏡像描述
雲原生時代用于編譯生成Docker鏡像的描述檔案。
go.mod
依賴管理
使用Go Module包管理的依賴描述檔案。
main.go
入口檔案
程式入口檔案。
六、架構設計
由于采用了強大易用的GoFrame開發架構,可以參考架構的一些設計介紹。
代碼分層設計
對象封裝設計
Context上下文
單應用多系統設計
更多:架構設計
七、項目截圖

圖1. 社群首頁
圖2. 登入頁面
圖3. 注冊頁面
圖4. 釋出/編輯頁面
圖5. 内容詳情
圖6. 搜尋頁面
圖7. 個人首頁
圖8. 編輯資料
八、資料庫表設計
九、功能子產品進度