app-cloudep-notification-se.../README.md

2.3 KiB

專案說明

通知服務

啟動說明

Quick Start

cd app-cloudep-notification-service
go mod tidy
make gen-rpc
# 設定 etc/notification.yml 各依賴的 config
go run notification.go

依賴套件或工具

以下已 macOS 為例,若已安裝或有其他可用服務則可跳過

專案架構

$tree -L 3 --gitignore

.
├── Makefile
├── build
│   └── Dockerfile
├── chart
│   └── readme.md
├── etc
│   └── service.example.yaml   # 設定檔範例
├── generate                   # 這個資料夾會用來自動生成一些程式
│   ├── database                 ## 資料庫生成檔案或紀錄遷移版本
│   │   ├── mongodb
│   │   ├── mysql
│   │   ├── readme.md
│   │   └── seeder
│   └── protobuf                 ## gRPC 的定義,用來生成 gRPC 檔案
│       └── notification.proto
├── go.mod
├── internal
│   ├── config                 # 設定的結構
│   │   └── config.go
│   ├── domain                 # 此服務下的一些常數定義
│   │   ├── errors.go            ## 錯誤定義
│   │   └── usecase              ## usecase 內的常數定義
│   │       ├── mail.go
│   │       └── sms.go
│   ├── logic                  # 主要的程式邏輯都在這,每個功能用一個資料夾開發
│   │   └── senderservice
│   ├── server
│   │   └── senderservice      # gRPC 自動產生的檔案
│   ├── svc                    # 此服務下會共用的功能,例如 API context, db 連線等
│   │   └── service_context.go   ## API context
│   └── usecase
│       ├── mitake.go
│       └── smtp.go
└── notification.go            # 服務主入口