介绍

旅游项目是一个类似蚂蜂窝的旅游网,主要包含下面的功能:

  • 用户登陆/注册:使用JWT生成请求Token,使用Redis 控制 Token 的过期时间,使用拦截器解析请求中的Token,根据解析的数据从 Redis 获取用户信息保存到 ThreadLocal 方便获取用户信息。
  • 攻略服务:用户可以在首页根据目的地,分类,主题分组分页查询攻略,对攻略进行评论,点赞,收藏等。
  • 游记服务:游记是由用户发布的,功能同攻略类似,可以根据出发时间范围,人均花费范围,出行天数范围查询游记并根据游记发布时间和热度排序。
  • 评论服务:使用 MongoDB 保存评论数据,实现增删改和分页查询。
  • 搜索服务:使用策略模式设计数据初始化到ES的接口,请求不同的参数可以初始化不同的数据到ES,使用Elasticsearch实现站内数据的搜索,并高亮显示关键词。

后端技术:Spring Cloud + Spring Cloud Alibaba + Mybatis Plus + MySQL + Redis + MongoDB

开发工具:IntelliJ IDEA、ApiPost7

项目亮点

1、SpringCloud从零搭建项目

2、阿里云OSS文件上传

3、JWT + Redis + ThreadLocal实现用户登陆功能,维护 Token 的有效期以及从ThreadLocal获取用户信息。

4、创建线程池,使用多线程执行任务

5、使用 MongoDB 保存用户评论数据,并实现分页查询。

6、Spring统一异常处理事件监听、参数解析器定制开发

7、使用策略模式设计数据初始化接口,访问携带不同的参数可以初始化不同的数据到ES,且使用Redis状态保证接口只能执行一次。

项目预览

页面展示