项目名称:大象驾到 项目类型:驾考驾培类(https://jp.yixc.com/)
技术选型:SpringcloudAlibaba + Springboot + SpringMVC + Maven+ Gateway + Nacos + Fegin + Seata+MybatisPlus + RabbitMq + ElasticSearch + Mysql + Redis
项目描述:
大象驾到是一款提供了丰富驾驶课程的网站,包括科目一和科目二的理论和实际操作课程,还有专业的教练团队提供一对一的教学服务,确保学员更好地学习和掌握驾驶技能,网站还提供各种练习和模拟考试,让学员更好地巩固和加深掌握的知识。
个人职责:
1、课程模块:实现了驾培课程的一个续播功能,方便用户下次进入继续学习;
2、签到模块:用户进行签到,连续签到不同天数奖励不同的积分;
3、学习记录功能:用户学习完成,提交学习记录;
4、互动问答业务:用户看完视频有不懂的地方可以在视频下方进行评论,其他用户可以进行回复;
5、积分排行榜业务:用户可以通过签到,看视频,评论等渠道获得积分,然后对用户获得的积分做一个实时的排行榜;
6、减免券模块:包括减免券的发放,以及兑换码的生成领取,最佳优惠策略;
7、兑换码生成算法:保证兑换码的可读性,唯一性,不可重兑和防爆刷;
技术要点:
1、使用 springboot + springMVC + MybatisPlus 搭建项目主架构;
2、使用 redis 对用户播放进度保存,利用 RabbitMQ 发送异步消息判断用户在线状态;
3、使用 Elasticsearch 实现驾校的搜索,支持高亮,排序,广告等功能;
4、使用 redis 中 bitmap 数据结构存储用户签到数据,完成 SQL 优化;
5、使用 redis Zset 结构保存用户积分信息,利用 Zset 数据结构特性完成积分排行榜功能;
6、使用 Redisson 分布式锁 + 自定义注解 + AOP 切面 + 策略设计模式解决减免券超领问题;
7、使用自增 ID + Redis + 新鲜值 + 线程池异步生成兑换码;
8、使用 XXLJOB 分片广播模式实现积分排行榜的数据持久化;
9、使用 Redis 中 bitmap 数据结构记录用户点赞信息,使用 RebitMQ 异步消息实现对用户点赞信息的持久化;
10、使用 RabbitMQ 实现对用户不同渠道(如签到,答题,看视频等)获取的积分的进行异步保存