# 我的商城demo
**Repository Path**: avicomlin/myLeyou
## Basic Information
- **Project Name**: 我的商城demo
- **Description**: 设计开发一个商城项目
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-03-01
- **Last Updated**: 2021-05-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### 项目介绍
本商城项目是基于微服务架构的前后端分离,前端使用Vue + Vuetify ,后端使用spring boot + spring cloud + tk-mybatis 进行开发,使用Jwt进行权限校验,结合Elasticsearch作为全文检索服务
- 国内淘宝京东的电商网站特别厉害,一直是中国的骄傲,如何开发设计,后台原理是什么一直很好奇,所以结合目前的流行技术栈,使用前后端分离架构进行项目的开发,也希望自己能够将项目一步步进行完善。
- 目前该项目都是通过别人的开源项目进行理解开发的,一遍学一般用,结合自己习惯进行编写,有些代码不够优雅,有些功能还不完善,希望能帮忙指出,日后积极完善
- 之前弄linux脚本命令比较多,目前使用虚拟机进行检测,环境自己搭建的,如果日后有空,也会把搭建环境自动化脚本或教程放出来,或者直接做一个DockerFile或容器放出来方面调试使用
### 相关技术
前端技术:
- 基础的HTML、CSS、JavaScript(基于ES6标准)
- Vue.js 2.0以及基于Vue的UI框架:Vuetify
- 前端构建工具:WebPack
- 前端安装包工具:NPM
- Vue脚手架:Vue-cli
- Vue路由:vue-router
- ajax框架:axios
- 基于Vue的富文本框架:quill-editor
### 后端技术:
- 基础的SpringMVC、Spring 5.0和MyBatis3
- Spring Boot 2.0.7
- Spring Cloud Finchley.RC2
- Redis
- RabbitMQ
- Elasticsearch
- nginx
- FastDFS
- MyCat
- Thymeleaf
- JWT
### 技术解读
- 利用Node.js及Vue.js技术栈,实现前后端分离开发
- 利用SpringCloud技术栈,实现真正的微服务实战开发,并且是基于SpringBoot2.0和SpringCloud最新版本Finchley.RC1实现,业内领先。
- 贴近真实的电商数据库设计,解决全品类电商的SPU和SKU管理问题
- 基于FastDFS解决大数据量的分布式文件存储问题
- 基于Elasticsearch高级聚合功能,实现商品的智能过滤搜索
- 基于Elasticsearch高级聚合功能,实现销售业务的复杂统计及报表输出
- 基于LocalStorage实现离线客户端购物车,减轻服务端压力。
- 基于JWT技术及RSA非对称加密实现真正无状态的单点登录。
- 结合JWT和RSA非对称加密,自定义Feign过滤器实现自动化服务间鉴权,解决服务对外暴露的安全问题
- 基于阿里大于实现SMS功能,解决电商短信通知问题
- 基于RabbitMQ实现可靠消息服务,解决服务间通信问题
- 基于RabbitMQ实现可靠消息服务,解决分布式事务问题
- 使用微信SDK实现微信扫码支付,符合主流付款方式
- 基于Redis搭建高可用集群,实现可靠缓存服务即热点数据保存。
redis持久化,集群,哨兵,主从,缓存击穿,热点key。
- 基于Redis和Mq来应对高可用高并发的秒杀场景
- 基于MyCat实现数据库的读写分离和分库分表
发视频
- 基于Thymeleaf实现页面模板和静态化,提高页面响应速度和并发能力
- 基于Nginx实现初步的请求负载均衡和请求限流