vodka 是個手腳架(鷹架),對於現在Golang沒有比較好定義應用程式專案的目錄結構的問題.vodka 作為一個定義應用程式專案的目錄結構,已將每一個層級定義出來.並在每個層級融入OOP化,把專案可控、初階工程師、進階工程師,混合作業作為最高指導原則所開發的. vodka是遵循SOLID設計規範.
├── LICENSE
├── Makefile
├── README.md
├── air.example
├── api
├── build
│ └── circleci
│ └── config.yml
├── cmd
├── config
│ ├── config.go.example
│ └── debug_config.go
├── deploy
├── docs
├── go.mod
├── go.sum
├── http
├── internal
│ ├── entity
│ │ ├── access_log
│ │ │ └── access_log_entity.go
│ │ ├── db
│ │ │ ├── access_logs
│ │ │ │ └── access_logs.go
│ │ │ └── members_phone
│ │ │ └── members_phone.go
│ │ └── member_phone
│ │ ├── member_phone_entity.go
│ │ ├── member_phone_suite_test.go
│ │ └── member_phone_test.go
│ ├── interactor
│ │ ├── constants
│ │ │ └── constants.go
│ │ ├── helpers
│ │ │ └── amazon
│ │ │ └── s3
│ │ │ └── s3.go
│ │ ├── manager
│ │ ├── models
│ │ │ ├── access_logs
│ │ │ │ └── access_logs.go
│ │ │ ├── page
│ │ │ │ └── page.go
│ │ │ ├── section
│ │ │ │ └── section.go
│ │ │ └── special
│ │ │ └── backend.go
│ │ ├── service
│ │ │ └── access_log
│ │ │ └── access_log_service.go
│ │ └── util
│ │ ├── aes.go
│ │ ├── base.go
│ │ ├── code
│ │ │ └── status.go
│ │ ├── connect
│ │ │ ├── mysql.go
│ │ │ └── postgres.go
│ │ ├── jwe.go
│ │ ├── log
│ │ │ └── log.go
│ │ ├── page.go
│ │ ├── time.go
│ │ ├── util.go
│ │ └── uuid.go
│ ├── presenter
│ └── router
│ ├── middleware
│ └── router.go
├── main.go
├── migrations
│ ├── 20220906071052_create_access_logs.down.sql
│ ├── 20220906071052_create_access_logs.up.sql
│ ├── 20220906072034_create_members_phone.down.sql
│ └── 20220906072034_create_members_phone.up.sql
├── scripts
│ ├── environment.example
│ └── migration.example
└── tools
├── autoMigrate
│ └── main.go
├── log
│ └── run.go
└── testData
└── main.go
- 授權檔案 MIT License
- 詳細記錄了,所有能夠使用的命令集
- 熱加載設定檔
- API DOC 置放
- CI/CD 設定檔
- 本專案的主要應用程式
- 設定檔
- 被編譯過後的檔案
- golang doc
- go mod檔
- restful api 測試文件
- 私有應用程式和函式庫的程式碼,是你不希望其他人在其應用程式或函式庫中匯入的程式碼.
- 對應資料庫的CRUD
- 對應資料表結構檔
- 可共用或不可共用的函式庫的程式碼
- 置放常數資料夾
- 置放一些共用的manager
- 置放交互調度程式
- 置放共用結構檔
- 置放有關於分頁的結構檔
- 置放有關於時間的結構檔
- 置放有關於後端共用結構檔
- 置放有關於所有的服務的程式碼
- 置放一些小工具,實用程序
- 置放錯誤代碼或是回應代碼
- 置放對應資料庫的連線
- 對應前端第一接觸的地方,API文件註解的地方,驗證輸入的地方
- 置放路由設定
- main func
- 放置資料庫的SQL檔案
- 置放一些可以執行的SH檔
- 可以置放一些小工具
- 以下命令可以建議一些執行的sh檔跟設定檔
make setup
- 測試環境
make runTesting
- 正式環境
make runProduction
使用golang-migrate做資料庫遷移及做資料表版控
- 測試環境
make migrationTesting
- 正式環境
make migrationProduction
- 可以產生change log
make changeLog
Vodka is released under the MIT license.