Focus
聚焦社區(qū)v0.1.0 beta
版本發(fā)布啦板惑!新年第一發(fā)橄镜!第一次給你!
此版本為社區(qū)的第一個(gè)發(fā)布版本冯乘,還有很多待完善的功能等待大家發(fā)現(xiàn)蛉鹿。也誠請各位小伙伴們關(guān)注GoFrame
項(xiàng)目發(fā)展,為生態(tài)添磚加瓦往湿,加油助力妖异!
零惋戏、關(guān)于Focus
Focus聚焦社區(qū)
是GoFrame
社區(qū)項(xiàng)目,采用了簡潔強(qiáng)大的GoFrame
作為后端WEB
框架他膳, 由于前臺系統(tǒng)需要SEO
因此使用了GF
自帶template
模板引擎响逢,數(shù)據(jù)庫用MySQL
,前端使用jQuery
/bootstrap
框架棕孙。
一舔亭、源碼地址
二、演示地址
請不要惡意發(fā)送垃圾數(shù)據(jù)哦~ 地址:https://focus.goframe.org/
三蟀俊、安裝部署
安裝
1钦铺、下載項(xiàng)目源碼: git clone [https://github.com/gogf/focus](https://github.com/gogf/focus)
2、創(chuàng)建focus
數(shù)據(jù)庫:
CREATE DATABASE `focus` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin';
3肢预、運(yùn)行document
下focus.sql
初始化數(shù)據(jù)庫SQL
矛洞。
4、復(fù)制config
下config.example.toml
為config.toml
配置文件烫映,其他配置根據(jù)需要自行調(diào)整沼本。
# 數(shù)據(jù)庫配置
[database]
link = "mysql:root:123456@tcp(127.0.0.1:3306)/focus"
debug = true
5、運(yùn)行:go run main.go
6锭沟、訪問 http://127.0.0.1:8199 即可看到登錄頁面抽兆,默認(rèn)賬號/密碼:goframe
/ 123456
部署
1、安裝gf-cli
工具鏈族淮,詳情查看:開發(fā)工具
2、打包命令:執(zhí)行 gf build
即可祝辣,具體配置請參考:build 交叉編譯
3贴妻、打包結(jié)果:默認(rèn) linux/macos/windows
三個(gè)版本。
bin
├── darwin_amd64
│ └── focus
├── linux_amd64
│ └── focus
└── windows_amd64
└── focus.exe
4较幌、將config.toml
和focus
放到同一級目錄揍瑟,啟動focus
即可白翻。
發(fā)布
默認(rèn)配置文件配置中乍炉,會將public,template
目錄進(jìn)行二進(jìn)制打包,隨著可執(zhí)行文件一同發(fā)布滤馍。因此岛琼,發(fā)布時(shí)僅需要將config.toml
和focus
拷貝到目標(biāo)服務(wù)器運(yùn)行即可。此外巢株,您也可以考慮將特定的配置文件用打包發(fā)布槐瑞,那么發(fā)布時(shí)僅需要發(fā)布focus
可執(zhí)行文件即可。
如果您想同時(shí)打包配置文件到可執(zhí)行文件中阁苞,那么您可以同時(shí)參考一下關(guān)于默認(rèn)配置文件讀取的修改方式:配置管理里#默認(rèn)文件修改
四困檩、項(xiàng)目結(jié)構(gòu)
├── app
│ ├── dao
│ ├── model
│ ├── shared
│ └── system
│ ├── admin
│ │ └── internal
│ └── index
│ └── internal
│ ├── api
│ ├── define
│ └── service
├── config
├── document
├── library
├── packed
├── public
├── template
├── upload
├── Dockerfile
├── go.mod
└── main.go
五祠挫、目錄說明
目錄/文件名稱 | 說明 | 描述 |
---|---|---|
app |
業(yè)務(wù)邏輯層 | 所有的業(yè)務(wù)邏輯存放目錄。 |
- dao
|
數(shù)據(jù)訪問 | 數(shù)據(jù)庫的訪問操作悼沿,僅包含最基礎(chǔ)的數(shù)據(jù)庫CURD方法等舔。 |
- model
|
數(shù)據(jù)模型 | 存放數(shù)據(jù)相關(guān)的實(shí)體結(jié)構(gòu)定義毅待。 |
- system
|
系統(tǒng)模塊 | 內(nèi)部可能包含多個(gè)子系統(tǒng)码倦,不同子系統(tǒng)之間資源相互隔離隘截。 |
? ? - index
|
前端頁面 | 子系統(tǒng)治笨,前端頁面鳖链。 |
? ? ? ? - internal
|
內(nèi)部模塊 | 系統(tǒng)內(nèi)部模塊诚纸,僅供當(dāng)前內(nèi)部系統(tǒng)調(diào)用鞠评,無法在系統(tǒng)間共享驰凛。 |
? ? ? ? ? - api
|
業(yè)務(wù)接口 | 系統(tǒng)內(nèi)部接收/解析用戶輸入?yún)?shù)的入口/接口層 |
? ? ? ? ? - define
|
結(jié)構(gòu)定義 | 系統(tǒng)內(nèi)部的輸入非驮、輸出數(shù)據(jù)結(jié)構(gòu)定義交汤。 |
? ? ? ? ? - service
|
邏輯封裝 | 系統(tǒng)內(nèi)部業(yè)務(wù)邏輯封裝,實(shí)現(xiàn)特定的業(yè)務(wù)需求院尔。 |
config |
配置管理 | 所有的配置文件存放目錄蜻展。 |
docker |
鏡像文件 | Docker鏡像相關(guān)依賴文件,腳本文件等等邀摆。 |
document |
項(xiàng)目文檔 | Documentation項(xiàng)目文檔纵顾,如: 設(shè)計(jì)文檔、幫助文檔等等栋盹。 |
library |
公共庫包 | 公共的功能封裝包施逾,往往不包含業(yè)務(wù)需求實(shí)現(xiàn)。 |
packed |
打包目錄 | 將資源文件打包的Go 文件存放在這里例获,boot 包初始化時(shí)會自動調(diào)用汉额。 |
public |
靜態(tài)目錄 | 僅有該目錄下的文件才能對外提供靜態(tài)服務(wù)訪問。 |
template |
模板文件 | MVC模板文件存放的目錄榨汤。 |
Dockerfile |
鏡像描述 | 云原生時(shí)代用于編譯生成Docker鏡像的描述文件蠕搜。 |
go.mod |
依賴管理 | 使用Go Module 包管理的依賴描述文件。 |
main.go |
入口文件 | 程序入口文件收壕。 |
六妓灌、框架設(shè)計(jì)
由于采用了強(qiáng)大易用的GoFrame
開發(fā)框架,可以參考框架的一些設(shè)計(jì)介紹蜜宪。
七虫埂、項(xiàng)目截圖
圖1. 社區(qū)首頁
圖2. 登錄頁面
圖3. 注冊頁面
圖4. 發(fā)布/編輯頁面
圖5. 內(nèi)容詳情
圖6. 搜索頁面
圖7. 個(gè)人主頁
圖8. 編輯資料