go web 工程腳手架

go-web-quickstart

go web 工程示例,可以作爲一些項目工程結構參考,對一些常用功能做了簡單封裝。支持構建docker鏡像。

示例中已完成了部分功能實現,方便做一些參考

  • 用戶登錄、註冊
  • 博客查看、添加、刪除、修改

環境依賴

  • MySQL
    • 初始化sql在deployments/db
  • Redis

對應配置在configs目錄,可以自行修改

make 指令

$ make help
Makefile cmd:

    build:                              項目打包
    build-go:                           構建 golang 包
    fmt-go:                             格式化 golang 代碼
    tidy:                               去掉未使用的項目依賴
    clean:                              清理臨時文件
    help:                               Makefile 幫助

啓動項目

go run cmd/main.go configs/app-local.yaml

打包

make build

打包後的可執行文件生成在.dist目錄

docker

打包

# 鏡像名和版本可以自己定義
docker build . -t web-app:1.0.0

啓動

# APP_ENV 啓用不同環境配置
docker run  -p 8080:8080 -e APP_ENV=test --name webapp web-app:1.0.0

技術選型

工程結構

  • build: 工程構建相關
  • cmd: 應用啓動入口
  • configs: 項目配置
  • deployments: 應用依賴
  • init: 應用啓動配置
  • internal: 應用業務邏輯代碼
  • pkg: 放到應用外部依然能使用的代碼庫、工具類
  • test: 測試相關
  • tools: 項目工具,如代碼生成腳本

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章