1.项目名

社区便利店(项目名自拟,不要太俗)

2.项目描述

该项目是为重庆澳欧惠品开发的一款本地B2C商城项目,客户通过前台浏览和购买商品,管理员通过后台对平台、商品、用户进行管理。主要出售日常百货,地区特产

项目使用分布式框架,涉及后台管理员服务、用户服务、地址服务、物流服务、广告服务、商品服务、商品类别服务、品牌服务、订单服务 、购物车服务、首页频道服务、公告服务、留言服务、搜索服务等。

3.项目解读

整个商城可以分为两部分:后台管理系统、前台门户系统。

后台管理:

- 商品管理,包括商品分类、品牌、商品规格,商品上传、更新、上下架等信息的管理
- 销售管理,包括订单统计、订单退款处理、促销活动生成等
- 用户管理,包括用户控制、冻结、解锁等
- 权限管理,整个网站的权限控制,采用JWT鉴权方案,对用户及API进行权限控制
- 广告管理,广告分类管理,广告上传,修改等
- 分类管理,电商商品类别管理,一共三级分类
- 统计,各种数据的统计分析展示
- 物流管理,调用快递鸟获取物流数据
.......

前台门户
前台门户面向的是客户,包含与客户交互的一切功能。例如:

- 商品首页展示
- 搜索商品
- 加入购物车
- 下单
- 订单支付
- 评价商品等等
......

4.系统架构

面试专题-商城项目技术解读篇_后台管理

5.技术栈解读

  • 采用SpringBoot简化商城系统的初始搭建以及开发过程
  • 开发环境采用Maven实施多模块项目构建,采用Git进行项目版本管理;
  • 采用SpringMVC+Spring+IBatis完成项目的整合
  • 采用Mysql作为数据库存储,druid配置数据库连接池
  • 采用SpringCloud+Netflix 微服务的流程开发
使用Eureka 开发注册中心
使用Ribbon 实现负载均衡
使用Feign发现服务
使用Hystrix 实现服务的熔断与降级
使用Zuul实现网关
使用DashBoard+Turbine 实现服务监控
  • 使用Redis完成缓存的数据存储,搭建Redis搭建主从、哨兵、集群应用,保证Redis的高可用
  • 使用Solr全文检索系统进行商品数据搜索,使用ZooKeeper搭建SolrCloud完成Solr的高可用
  • 使用Ngnix实现页面动静分离与负载均衡的配置
  • 采用FastDFS文件储存系统文件存储,完成广告图片、商品图片的上传和存储
  • 系统使用采用CAS单点登录系统实现用户认证
  • 使用ECharts根据后台查询数据生成图表
  • 使用POI实现了商城盈利状况的Excel表格导出。
  • 商品的详情页使用Thymeleaf完成页面静态化,减少页面数据展示延迟
  • 项目中使用SpringBoot下的Aop + 自定义注解完成用户行为记录,日志采集
  • 后台管理系统使用Shiro实现登录验证和权限管理(超级管理员、管理员、产品编辑员)
  • 使用微信完成订单的支付
  • 使用Zookeeper完成分布式锁,生成订单的编号
  • 使用LCN完成下订单模块的分布式事务(新增订单表,库存减少)
  • 使用RabbitMQ 做消息队列,完成订单未支付自动取消和模块直接的解耦合
  • 使用Quartz任务调度,完成缓存的定时刷新,保证缓存的一致性
  • 使用本地消息表机制完成消息然队列RabbitMQ消息可靠性传输
  • 通过Jquery实现前端校验,通过基于Hibernate的Valida注解实现后端的校验功能
  • 使用Base64编码对Json数据传输进行编码和解码
  • 项目使用RESTful设计风格实现资源的访问,实现前后端分离
  • 项目使用聚合数据第三方短信平台完成用户的登陆功能
  • 项目使用SpringBoot整合JavaMail完成邮件的发送
  • 项目使用SpringBoot整合Swagger2生成接口文档
  • 使用PostMan完成接口的测试
  • 项目的测试:SpringTest、dbunit、EasyMock
  • 使用Docker 进行应用的自动化打包和发布、自动化测试和持续集成、部署和调整其他应用
  • 使用 PowerDesigner,完成数据库的建模
  • 项目使用禅道进行BUG管理