-
Notifications
You must be signed in to change notification settings - Fork 62
Home
ERIK edited this page Feb 13, 2019
·
42 revisions
本项目见: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
- 顺带推荐 Windows 包管理神器 Chocolatey
Howl, caught in the open
Down, it's bleak and it's sobering
Flower, bloom in the broken
Cower, doped to recovering