# 我的商城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实现初步的请求负载均衡和请求限流