今天鹏哥给大家推荐的项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。同时这个项目也是难道的既有后端UI还有移动端UI的开源项目。该项目致力于打造一个完整的电商系统,采用现阶段流行技术实现。

项目地址

https://github.com/macrozheng/mall

项目文档

https://macrozheng.github.io/mall-learning/#/foreword/mall_foreword_01

鹏哥收集的项目都有一个通点,那就是文档特别全。任何没有文档的开源项目都是耍流氓。一般情况我么找开源项目不外乎学习新框架,私活脚手架,公司任务需要几种。如果没有一个详细的文档,全靠读别人的代码,还不如自己根据官方教程写一个呢!所以鹏哥对文档特别敏感,我们来感受一下这个项目的文档:

项目结构

mall
├── mall-common -- 工具类及通用代码
├── mall-mbg -- MyBatisGenerator生成的数据库操作代码
├── mall-admin -- 后台商城管理系统接口
├── mall-search -- 基于Elasticsearch的商品搜索系统
├── mall-portal -- 前台商城系统接口
└── mall-demo -- 框架搭建时的测试代码

项目中用到的技术

后端技术:

  • Spring Boot 容器+MVC框架
  • Spring Security 认证和授权框架
  • MyBatis ORM框架
  • MyBatisGenerator 数据层代码生成
  • PageHelper MyBatis物理分页插件
  • Swagger-UI 文档生产工具
  • Hibernator-Validator 验证框架
  • Elasticsearch 搜索引擎
  • RabbitMq 消息队列
  • Redis 分布式缓存
  • MongoDb NoSql数据库
  • Docker 应用容器引擎
  • Druid 数据库连接池
  • OSS 对象存储
  • JWT JWT登录支持
  • LogStash 日志收集
  • Lombok 简化对象封装工具

前端技术:

  • Vue 前端框架
  • Vue-router 路由框架
  • Vuex 全局状态管理框架
  • Element 前端UI框架
  • Axios 前端HTTP框架
  • v-charts 基于Echarts的图表框架
  • Js-cookie cookie管理工具
  • nprogress 进度条控件

开发环境版本要求:

  • JDK 1.8
  • Mysql 5.7
  • Redis 3.2
  • Elasticsearch 6.2.2
  • MongoDb 3.2
  • RabbitMq 3.7.14
  • nginx 1.10

架构图

系统架构图

业务架构图

系统功能:

表设计:

系统演示:

后台功能截图:

首页:

商品相关页面截图:

添加商品页面

订单相关页面截图

营销相关页面截图

移动端界面截图:

首页:

分类页面:

专题页面:

我的信息页面:

记得前一段时间鹏哥读作者分享的关于这个项目的始末,鹏哥特别佩服作者可以一步一步的搭建起这个项目,并一偏偏的编写相关的文档,如此大公无私的分享经验的人怎么会不让人尊敬?

SpringBoot+Security+MyBatis+ES+MQ+Redis+Docker+Vue的电商系统的更多相关文章

  1. 手把手教你使用VUE+SpringMVC+Spring+Mybatis+Maven构建属于你自己的电商系统之vue后台前端框架搭建——猿实战01

            猿实战是一个原创系列文章,通过实战的方式,采用前后端分离的技术结合SpringMVC Spring Mybatis,手把手教你撸一个完整的电商系统,跟着教程走下来,变身猿人找到工作不是 ...

  2. 基于SpringBoot+MyBatis实现一套电商系统

    项目介绍 mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现. 前台商城系统包含首页门户.商品推荐.商品搜索.商品展示.购物车.订单流程.会员中心 ...

  3. SpringBoot之Mybatis操作中使用Redis做缓存

    上一博客学习了SpringBoot集成Redis,今天这篇博客学习下Mybatis操作中使用Redis做缓存.这里其实主要学习几个注解:@CachePut.@Cacheable.@CacheEvict ...

  4. java 全端开源 电商系统 springboot uniapp 小程序 前后端分离 高可用

    Lilishop B2B2C商城系统 官方公众号 & 开源不易,如有帮助请点Star 所有jar包均可从maven中央仓库下载,无二次封装jar包,全端开源,无后门,无监控. 介绍 官网:ht ...

  5. vue大型电商项目尚品汇(前台篇)day01

    学完vue2还是决定先做一个比较经典,也比较大的项目来练练手好一点,vue3的知识不用那么着急,先把vue2用熟练了,vue3随时都能学. 这个项目确实很经典包含了登录注册.购物车电商网站该有的都有, ...

  6. spring-boot集成mybatis,用redis做缓存

    网上有很多例子了,执行源码起码有3个,都是各种各样的小问题. 现在做了个小demo,实现spring-boot 用redis做缓存的实例,简单记录下思路,分享下源码. 缓存的实现,分担了数据库的压力, ...

  7. 微服务架构开发电商系统需要用Redis、ES和MQ吗?

    如果不用什么很高大上的东西,就是有多个微服务就行这种技术架构会很难吗? 我看了一些视频,他们都用到了es.mq.redis的东西,我想不用这些东西,就简单的有多个服务,这样可行吗? 01 使用微服务你 ...

  8. 电商系统架构总结2(Redis)

    二  Redis缓存 考虑到将来服务器的升级扩展,使用redis代替.net内置缓存是比较理想的选择.redis是非常成熟好用的缓存系统,安装配置非常简单,直接上官网下载安装包 安装启动就行了. 1 ...

  9. Vue+Python 电商实战

    安装webStorm  https://blog.csdn.net/qq_38845858/article/details/89850737 安装NodeJs  http://nodejs.cn/do ...

随机推荐

  1. 有关OutputDebugString的一点儿事实

    我最近花了一些时间分析OutputDebugString方法.在我的另一个实验中,我需要一个仅依赖于本机API的OutputDebugString版本.在实现它的过程中,我发现了一些关于OutputD ...

  2. Python模块 --- 最高级别程序组织单元

    模块 --- 最高级别程序组织单元 <Python学习手册>笔记 import 导入1个模块 from 获取模块指定变量名 imp.reload 重新载入模块文件代码的方法 模块作用 代码 ...

  3. CPU 的由来

    由 c# 的CEF 框架提供的 js 扩展,WebBrowser. JavascriptObjectRepository. 问:为什么要提供这一种方式. 提供了一种 能让js 与后端代码通讯的 方式. ...

  4. 疯了!同事又问我为什么不能用 isXXX

    最近在做Code Review,写下了这篇文章:代码写成这样,老夫无可奈何!,说多了都是泪啊.. 最近又有人同事跑过来质疑我: 为什么变量名取名不能用 isXXX 这种方式,这样有什么问题?! 醉了, ...

  5. kali 更改图标村大小

    1.“设置” --> "通用辅助功能" --> "大号字体" 2.在终端中输入 “gnome-tweaks” 打开 优化 --> 扩展  -- ...

  6. python面试题300多题

    第一部分 Python基础篇(80题) 为什么学习Python? 通过什么途径学习的Python? Python和Java.PHP.C.C#.C++等其他语言的对比? 简述解释型和编译型编程语言? P ...

  7. AVLMap平衡二叉树

    public class AVLMap<K, V> implements Iterable<AVLEntry<K, V>> { private int size; ...

  8. element-ui时间选择器--设置禁止选择的时间

    场景需求:开始日期不能小于今天,在今天之前的日期禁止选择,结束日期不能小于开始日期,开始日期之前的日期禁止选择. 效果图: element-ui的时间选择器中,有一个picker-options的属性 ...

  9. Java学习:List接口

    List接口 java.util.list接口 extends Collection接口 List接口的特点: 有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123) 有索引,包含了一 ...

  10. 【LeetCode】48. Rotate Image

    Difficulty:medium  More:[目录]LeetCode Java实现 Description https://leetcode.com/problems/rotate-image/ ...