- 用户登陆/注册:使用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状态保证接口只能执行一次。