项目简介
本项目是基于Go语言和Kratos框架构建的激励奖励系统,采用微服务架构,包含用户管理、签到记录、虚拟钱包、奖励发放等多个模块。其目标是通过签到任务激励用户活跃度,支持高并发、高可用性,并借助Kafka消息队列实现异步任务处理。
项目的主要特性和功能
- 用户管理:提供用户注册与登录、信息查询与更新以及软删除功能。
- 签到系统:支持用户每日签到,管理7天一个周期的签到周期,可查询签到记录。
- 虚拟钱包:能查询用户钱包余额,进行奖励发放与充值。
- 奖励系统:利用Kafka消息队列异步处理奖励发放,并将奖励写入用户虚拟钱包。
- 管理端功能:可查询指定用户的签到记录,统计分析用户签到数据。
- 技术栈:使用Kratos v2.2.0作为微服务框架,MySQL 8.0.26(ORM为entgo.io/ent v0.10.1)作为数据库,Redis 6.2.6作为缓存,Kafka 2.8.1作为消息队列。
安装使用步骤
- 环境准备:确保已安装Go 1.16+、MySQL 8.0.26、Redis 6.2.6、Kafka 2.8.1。
- 复制项目:
bash cd incentive-system
- 配置数据库和缓存:修改
configs
目录下的配置文件,配置MySQL、Redis和Kafka的连接信息。 - 编译和运行:使用Kratos CLI生成代码并启动服务:
bash kratos run
- 测试接口:使用Postman或其他工具测试各个服务的HTTP接口,接口文档位于
/api
目录下,使用proto文件定义。 - 部署:使用Docker或Kubernetes进行容器化部署,确保各个服务的高可用性。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】