1、项目介绍
-
本商城是一个全品类的电商购物网站(B2C) 。
-
用户可以在线购买商品、加入购物车、下单、秒杀商品
-
可以评论已购买商品
-
管理员可以在后台管理商品的上下架、促销活动
-
管理员可以监控商品销售状况
-
客服可以在后台处理退款操f作
-
希望未来3到5年可以支持千万用户的使用
2、系统架构
(1)架构图
商城架构缩略图
(2)系统架构解读
整个商城可以分为两部分:后台管理系统、前台门户系统。
-
后台管理:
-
后台系统主要包含以下功能:
-
商品管理,包括商品分类、品牌、商品规格等信息的管理
-
销售管理,包括订单统计、订单退款处理、促销活动生成等
-
用户管理,包括用户控制、冻结、解锁等
-
权限管理,整个网站的权限控制,采用JWT鉴权方案,对用户及API进行权限控制
-
统计,各种数据的统计分析展示
-
后台系统会采用前后端分离开发,而且整个后台管理系统会使用Vue.js框架搭建出单页应用(SPA)。
-
预览图:
前台门户
-
前台门户面向的是客户,包含与客户交互的一切功能。例如:
-
搜索商品
-
加入购物车
-
下单
-
评价商品等等
-
前台系统我们会使用Thymeleaf模板引擎技术来完成页面开发。出于SEO优化的考虑,我们将不采用单页应用。
无论是前台门户、还是后台管理页面,都是前端页面,我们的系统采用前后端分离方式,因此前端会独立部署,不会在后端服务出现静态资源。
后端微服务
无论是前台还是后台系统,都共享相同的微服务集群,包括:
-
商品微服务:商品及商品分类、品牌、库存等的服务
-
搜索微服务:实现搜索功能
-
订单微服务:实现订单相关
-
购物车微服务:实现购物车相关功能
-
用户中心:用户的登录注册等功能
-
Eureka注册中心
-
Zuul网关服务
-
Spring Cloud Config配置中心
-
…
3、商城管理系统前端页面
我们的后台管理系统采用前后端分离开发,而且整个后台管理系统会使用Vue.js框架搭建出单页应用(SPA)。
(1)什么是SPA
SPA,并不是去洗澡按摩,而是Single Page Application,即单页应用。
整个后台管理系统只会出现一个HTML页面,剩余一切页面的内容都是通过vue组件来实现。
这些Vue组件其实就是许多的JS文件。不过前端项目除了js,还有css、image、font等,甚至前端还开发出各种不同类型的拓展语言,这么多东西在打包、构建的过程中,人工来操作非常麻烦,因此就会有一些工具来帮助搭建前端项日。
例如: weebpack, vue-cli等
(2)webpack
(1)介绍
Webpack 是一个前端资源的打包工具,它可以将js、image、css等资源当成一个模块进行打包.
官网:https://webpack.docschina.org/
export:导出
import:导入(文件的地址)
官网给出的解释:
从图中我们可以看出,Webpack 可以将多种静态资源 js、css、less 转换成一个静态文件,减少了页面的请求。
为什么要打包:
-
将许多碎小文件打包成一个整体,减少单页面内的衍生请求次数,提高网站效率。
-
将ES6的高级语法进行转换编译,以兼容老版本的浏览器-
-
将代码打包的同时进行混淆,提高代码的安全性。
(2)四个核心概念
学习Webpack,你需要先了解四个核心概念:
- 入口(entry)
webpack打包的启点,可以有一个成多个,一般是js文件。webpack会从启点文件开始,寻找启点直接或间接依翰的其它所有的依赖,包括JS、CSS,图片资源等,作为将来打包的原始数据。
- 输出(output)
出口一般包含两个属性:path和filename。用来告诉webpack打包的目标文件夹,以及文件的名称。目的地也可以有多个。
最后
我还通过一些渠道整理了一些大厂真实面试主要有:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。
还有专门针对JVM、SPringBoot、SpringCloud、数据库、Linux、缓存、消息中间件、源码等相关面试题。
乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。**
[外链图片转存中…(img-GPBaQzGJ-1714388814002)]
还有专门针对JVM、SPringBoot、SpringCloud、数据库、Linux、缓存、消息中间件、源码等相关面试题。
[外链图片转存中…(img-TL68H1zO-1714388814002)]