luckydraw-ddd系统说明
ddd-抽奖系统
Lottery 抽奖系统
项目是一款互联网面向C端人群营销活动类的抽奖系统,可以提供抽奖活动玩法策略的创建、参与、记账、发奖等逻辑功能。在使用的过程中运营人员通过创建概率类奖品的抽奖玩法,对用户进行拉新、促活、留存,通常这样的系统会用在电商、外卖、出行、公众号运营等各类场景中。
名称 | 系统 | 作用 |
---|---|---|
分布式核心功能服务系统 | Lottery | 提供抽奖业务领域功能,以分布式部署的方式提供 RPC 服务。 |
网关API服务 | Lottery-API | 网关服务,提供; H5 页面抽奖、公众号开发回复消息抽奖 |
C端用户系统 | lottery-front | vue H5 lucky-canvas 大转盘抽奖界面,讲解 vue 工程创建、引入模块、开发接口、跨域访问和功能实现 |
B端运营系统 | Lottery-ERP | 满足运营人员对于活动的查询、配置、修改、审核等操作。 |
分库分表路由组件 | db-router-spring-boot-starter | 本项目依赖自研分库分表组件,需要下载后构建 开发一个基于 HashMap 核心设计原理,使用哈希散列+扰动函数的方式,把数据散列到多个库表中的组件,并验证使用。 |
测试验证系统 | Lottery-Test | 用于测试验证RPC服务、系统功能调用的测试系统。 |
Lottery 抽奖系统 - 基于领域驱动设计的四层架构实践
- 代码:https://gitcode.net/KnowledgePlanet/Lottery
- 小册:https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/home
- 提问:https://gitcode.net/KnowledgePlanet/Lottery/-/issues
- 介绍:https://articles.zsxq.com/id_tz44w3oqjftv.html
文字作业提交地址:https://t.zsxq.com/MvFYJe2
代码作业提交地址:https://gitcode.net/CreativeAlliance
项目构建
gitcode->新建项目:
项目构建完成,随后配置ssh秘钥并clone项目
-- 检查ssh配置是否正常
ssh -T git@codechina.csdn.net
项目环境
技术栈项:JDK1.8、Maven3.6.3、Mysql5.7(可升级配置),SpringBoot、Mybatis、Dubbo 随POM版本
初始打包:需要在 Lottery 工程的 Maven 根上,点击 Install 这样才能完整打包,否则 Lottery-Test 等,不能正常引入 Jar 包
建表语句:doc/asserts/sql - 建议随非分支内sql版本走,因为需求不断迭代升级优化,直接使用最新的会遇到在各个分支下的代码运行问题
代码仓库:2种使用方式
- 密码方式:登录的用户ID为 CSDN 个人中心的用户ID,https://i.csdn.net/#/user-center/profile 密码为 CSDN 登录密码。如果没有密码或者忘记,可以在 CSDN 登录页找回密码。
- SSH 秘钥免登录方式,设置:https://gitcode.net/-/profile/keys 文档:生成 SSH 密钥
学习使用:下载代码库后,切换本地分支到wiki中章节对应的分支,这样代码与章节内容是对应的,否则你在master看到的是全量代码。
下载依赖:db-router-spring-boot-starter 本项目依赖自研分库分表组件,可以用IDEA像打开一个项目一样打开,之后点击 Maven Install 这样就把 Jar 打包到本地仓库了,Lottery 中则可引入这个 Jar
环境配置:
JDK 1.8
SpringBoot 2.6.0
Dubbo 2.7.10
DB-ROUTER 自研分库分表路由组件,带着你一起写个SpringBoot Starter
vue 开发H5大转盘抽奖
微信公众号 对接提供API,回复抽奖
Docker 本地和云服务
其他环境说明:mysql\kafka\zk\redis\xxl-job