本项目见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
,非常感谢 ^_^
有疑问加站长微信联系(非本文作者)