-
乐优商城是一个全品类的电商购物网站(B2C)。
-
用户可以在线购买商品、加入购物车、下单
-
可以评论已购买商品
-
管理员可以在后台管理商品的上下架、促销活动
-
管理员可以监控商品销售状况
-
客服可以在后台处理退款操作
-
希望未来3到5年可以支持千万用户的使用
系统架构
1.架构图
乐优商城架构缩略图,大图请参考课前资料:
2.系统架构解读
整个乐优商城可以分为两部分:后台管理系统、前台门户系统。
-
后台管理:
-
后台系统主要包含以下功能:
-
商品管理,包括商品分类、品牌、商品规格等信息的管理
-
销售管理,包括订单统计、订单退款处理、促销活动生成等
-
用户管理,包括用户控制、冻结、解锁等
-
权限管理,整个网站的权限控制,采用JWT鉴权方案,对用户及API进行权限控制
-
统计,各种数据的统计分析展示
-
-
后台系统会采用前后端分离开发,而且整个后台管理系统会使用Vue.js框架搭建出单页应用(SPA)。
-
-
前台门户
-
前台门户面向的是客户,包含与客户交互的一切功能。例如:
-
搜索商品
-
加入购物车
-
下单
-
评价商品等等
-
-
前台系统我们会使用Thymeleaf模板引擎技术来完成页面开发。出于SEO优化的考虑,我们将不采用单页应用。
无论是前台还是后台系统,都共享相同的微服务集群,包括:
-
商品微服务:商品及商品分类、品牌、库存等的服务
-
搜索微服务:实现搜索功能
-
订单微服务:实现订单相关
-
购物车微服务:实现购物车相关功能
-
用户中心:用户的登录注册等功能
-
Eureka注册中心
-
Zuul网关服务
-
...
1.技术选型
前端技术:
-
基础的HTML、CSS、JavaScript(基于ES6标准)
-
JQuery
-
Vue.js 2.0以及基于Vue的框架:Vuetify(UI框架)
-
前端构建工具:WebPack
-
前端安装包工具:NPM
-
Vue脚手架:Vue-cli
-
Vue路由:vue-router
-
ajax框架:axios
-
基于Vue的富文本框架:quill-editor
后端技术:
-
基础的SpringMVC、Spring 5.x和MyBatis3
-
Spring Boot 2.0.7版本
-
Spring Cloud 最新版 Finchley.SR2
-
Redis-4.0
-
RabbitMQ-3.4
-
Elasticsearch-6.3
-
nginx-1.14.2
-
FastDFS - 5.0.8
-
MyCat
-
Thymeleaf
-
mysql 5.6
2.开发环境
为了保证开发环境的统一,希望每个人都按照我的环境来配置:
-
IDE:我们使用Idea 2017.3 版本
-
JDK:统一使用JDK1.8
-
项目构建:maven3.3.9以上版本即可(3.5.2)
-
版本控制工具:git
idea大家可以在我的课前资料中找到。另外,使用帮助大家可以参考课前资料的《idea使用指南.md》
3.域名
我们在开发的过程中,为了保证以后的生产、测试环境统一。尽量都采用域名来访问项目。
一级域名:www.leyou.com,leyou.com leyou.cn
二级域名:manage.leyou.com/item , api.leyou.com
我们可以通过switchhost工具来修改自己的host对应的地址,只要把这些域名指向127.0.0.1,那么跟你用localhost的效果是完全一样的。
switchhost可以去课前资料寻找。