伽樓達獸(garudamon),擁有能在天空自由翱翔的翅膀,是大地與風的守護神。
『有關通知類型的都在這邊』,讓我們一起自由自在地傳遞訊息吧。
Go to file
simon.yhh a4cec53aac docs/update readme (#8)
更新 README
1. 簡述專案架構、重點資料夾或檔案的功用
2. 能夠在本地端啟動的教學

Co-authored-by: Simon Hung <yihsuan.simon@email.com>
Reviewed-on: #8
Reviewed-by: 王性驊 <igs170911@gmail.com>
Co-authored-by: simon.yhh <simon.yhh@30cm.net>
Co-committed-by: simon.yhh <simon.yhh@30cm.net>
2024-10-29 06:03:36 +00:00
build add code third party code (#5) 2024-08-27 14:25:45 +00:00
chart feat: init project 2024-08-20 14:12:13 +08:00
client/senderservice add checkout verify code 2024-08-26 16:34:16 +08:00
etc add code third party code (#5) 2024-08-27 14:25:45 +00:00
generate add checkout verify code 2024-08-26 16:34:16 +08:00
internal add code third party code (#5) 2024-08-27 14:25:45 +00:00
.gitignore merge mail 2024-08-27 15:45:34 +08:00
.golangci.yaml feature/mail (#3) 2024-08-20 15:56:21 +00:00
Makefile add checkout verify code 2024-08-26 16:34:16 +08:00
README.md docs/update readme (#8) 2024-10-29 06:03:36 +00:00
go.mod add code third party code (#5) 2024-08-27 14:25:45 +00:00
notification.go add checkout verify code 2024-08-26 16:34:16 +08:00

README.md

專案說明

通知服務

專案架構

$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            # 服務主入口

啟動說明

此文件會介紹以下兩種啟動方式:

  1. Docker 啟動 (Production 時使用)
  2. 本地端 go compiler 啟動 (開發、測試時使用)

Docker 啟動 (Production)

make build-docker
make run-docker

本地端啟動(測試用)

go mod tidy
# 進入 etc/notification.yml 設定各依賴的 config
go run notification.go

本地啟動需要依賴套件或工具

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