本項目見GITHUB
:market_monitor
這是一個初級 Gopher 練手的小項目;
該項目功能簡單,主要實現監測幣市行情變化、達到預警效果的功能,大致的使用場景如下:
- 用戶登錄服務;
- 用戶設置關注的幣種及預警的走勢價格;
- 當行情變化觸發到用戶的預警設置時,服務將自動發送提醒郵件通知用戶;
整體功能簡明,通過這個項目你可以瞭解到:
- 基於 Go Mod 的項目包管理
- Gin 框架的基本開發
- Gin 服務跨域問題的處理
- 基於 JWT 註冊、登錄等驗證流程
- 數據庫 MySQL ORM 的基本使用
- 緩存數據庫 Redis 的基本使用
- 爲項目工程添加配置文件
- 在項目中添加日誌
- 基於 Cron 的 Scheduler 定時任務
- 如何爲編寫的 API 添加 Swagger 接口文檔
- 如何使應用服務平滑重啓
- 構建應用服務 Docker 鏡像
- Docker Compose 容器編排部署
功能點:
- 常規的用戶註冊、登錄、登出、身份驗證等功能
- 監測數據源的選擇(用於選擇支持監測的交易所數據源,目前僅支持監測
gate.io
) - 監測策略設置管理(用於設置監測的具體規則要求,當前僅支持走勢大小值預警策略)
- 監測信息通知(在監測條件被觸發後,發送消息通知用戶,目前僅支持郵件通知)
本項目用到的依賴:
- web framework: gin
- redis: redigo
- mysql: gorm
- logger: zerolog
- scheduler: cron
- config: viper
- json web token: jwt-go
- swagger docs: swaggo
最後,如果本項目能夠對你有所幫助,請爲本項目添加 star
,非常感謝 ^_^