目录
前言
该项目为尚硅谷的视频教学。2019版 谷粒商城
代码的链接: https://github.com/xibanqiu/gmail
一、各个阶段的总结
该项目为一个SOA项目,将项目 拆分为 各个功能,模块化处理。
使用Dubbo + zookeeper 实现各个模块进行通信。
下面根据功能将20天的课程,划分各个阶段,进行总结.
每个阶段对应的代码,对应相应的分支。
1.1 第一阶段 项目准备(day01~ day02)
对项目数据结构的介绍,工程的搭建。
1.2 第二阶段 商家后台管理商品(day03~ day05)
1.2.1 功能的介绍
实现商家上架,下架商品。
如下,实现下列商品的添加。
1.2.2 功能的实现
-
技术
该功能 前后端分离来实现。
前端:为 vue 实现的一个项目。
后端:拆分为 gmall-manage-service 和 gmall-manage-web 两个springboot的工程,使用dubbo调用 。 -
功能
功能一、添加 spu
功能二、根据 spu 添加sku
功能三、设置 该 sku 的 图片。 -
上述功能实现的思路:
功能一与功能二简单的数据传输,插入数据库.
功能三、将图片传到 FastDFS上进行存储,再利用nigix 访问此图片,将图片链接放到数据中。
1.3 第三阶段 商品的详情页(day06~ day08)
1.3.1 功能的介绍
将 第二阶段上架的商品进行展示
1.3.2 功能的实现
-
技术
springboot + themeleaf + redis 。 -
功能
功能一、进入商品的详情页时,展示商品的详情
功能二、实现 spu 下 sku 的 切换,将 该spu 下的 sku 数据 -
上述功能实现的思路:
将详情的数据放在redis中缓存,每次去redis 中查询,如果没有再去数据库中查,在放到redis 中。
考虑 缓存击穿,缓存穿透,缓存雪崩。
1.4 第四阶段 搜索栏(day09~ day11)
1.4.1 功能的介绍
功能一、搜索栏
功能二、面包屑功能
1.4.2 功能的实现
-
主要技术
elasticsearch -
功能一实现的思路:
将商品的信息放到es 中存储,对需要查询匹配的字段(标题,描述)进行分词。将用户输入的关键字对这些进行搜索。再将销售属性展示到页面,方便用户过滤,也为 功能二面包屑 进行数据准备。 -
功能二实现的思路:
将用户选择的 销售属性 ,在功能一的 es 查询中 增加一个 过滤的条件。
将在这个 条件 在展示页面中 展示出来。作为面包屑。