关键字:商城,springboot,vue,uni-app,mybatis,mysql,elasticsearch,redis,docker, 前后端分离,电商,权限管理,订单,商品
项目名称:前后端电商商城系统(含源码)
项目介绍
mall 是一套高人气开源完整电商系统,基于 SpringBoot+Vue+uni-app 技术栈开发,包含后台管理端、PC 商城前台、移动端 H5 商城三套完整项目,支持 Docker 一键容器化部署。系统覆盖电商全业务链路,后端提供商品、订单、会员、营销、权限、搜索等全套接口,前台实现商品浏览、购物车、下单支付、会员中心等购物流程,适配 PC、手机多端访问。
项目采用分层模块化 Maven 架构,整合 Elasticsearch 全文检索、Redis 缓存、RabbitMQ 消息队列、MongoDB 文档存储等主流中间件,使用 RBAC+JWT 实现精细化权限管控,解决传统商城查询慢、营销能力弱、多端适配差、部署繁琐等痛点。区分运营管理员、普通消费者两类角色,后台可一站式管控商城所有业务数据,用户端可完成完整购物闭环,工程代码规范、注释完善,兼具商用落地与 Java 实战学习双重价值,是电商开发标杆级开源项目。
项目结构目录

项目主要技术框架
3.1核心底层框架
mall 系统采用标准 B/S 多层架构,基于成熟 SpringBoot 体系搭建单体商城,同时提供 Spring Cloud Alibaba 微服务版本 mall-swarm;数据存储以 MySQL 为主库,搭配 Redis 缓存、MongoDB 文档库、Elasticsearch 搜索引擎,摒弃老旧 JSP,采用 Vue+uni-app 现代化前后端分离模式。系统解决传统商城数据查询卡顿、营销功能缺失、多端开发割裂、部署复杂等问题,支持 Jar 直接运行、Docker 容器、Jenkins 自动化部署三种方案,生态完善、社区教程丰富,运行稳定、拓展性强,商用与学习性价比极高。
3.2后端技术栈
开发语言:Java 8/17,基于 SpringBoot 生态
服务架构:B/S 分层 MVC,多模块 Maven 聚合工程
Web 请求:标准 RESTful 接口,支持 GET/POST
持久层:MyBatis + PageHelper 分页 + MyBatisGenerator
数据库:MySQL 5.7/8.0,事务与索引支持
缓存中间件:Redis,商品、购物车、登录缓存
搜索引擎:Elasticsearch,商品全文检索
消息队列:RabbitMQ,订单延迟、异步通知
安全框架:SpringSecurity + JWT,RBAC 角色权限
文件存储:MinIO / 阿里云 OSS 对象存储
部署方式:Jar 包、War 外置 Tomcat、Docker 容器、Jenkins 自动化
3.3前端技术栈
后台管理前端
基础框架:Vue2/Vue3 + Vue-router + Vuex
UI 组件:Element UI/Element Plus
请求工具:Axios,图表 v-charts
移动端商城前端
基础框架:uni-app,一套代码适配小程序 / H5/App
组件:uni-ui,统一移动端交互样式
3.4开发及生产环境
系统环境:Windows(开发)、CentOS Linux(生产)、Docker 容器
JDK 版本:JDK8 / JDK17 双分支适配
版本管理:Maven 依赖、Git 代码仓库
运维监控:ELK 日志采集、接口访问监控、Nginx 反向代理
拓展适配:支持支付对接、分布式集群、读写分离
3.5数据库
系统配套完整电商业务数据表,核心表包含:商品表、商品分类表、品牌表、SKU 库存表、订单主 / 子表、退货表、会员用户表、角色权限表、优惠券表、秒杀活动表、首页广告表、收藏足迹表、文件资源表;表之间通过外键关联完整业务关系,支持 MyBatis Generator 一键生成实体与 Mapper 代码,配套完整初始化 SQL 脚本,开箱即用。
项目主要功能
4.1 管理员后台功能模块
管理员拥有商城全量运营权限,管控商品、订单、会员、营销、系统配置全部业务。
4.1.1 商品管理
支持新增 / 编辑 / 上下架商品,维护商品图文、规格 SKU、库存;管理商品一级 / 二级分类、品牌库;配置商品属性、参数、推荐标签;批量修改商品价格、库存,支持软删除,数据留存数据库。
4.1.2 订单管理
查看全平台订单列表、订单详情;处理订单发货、修改物流;管理退货申请、审核退货、设置退货原因;订单数据统计、导出报表,追踪完整订单生命周期。
4.1.3 会员用户管理
管理前台注册会员,查看会员手机号、地址、账户状态;禁用异常会员;会员数据统计,管理会员积分、优惠券发放记录。
4.1.4 营销活动管理
配置限时秒杀、满减优惠券;管理新品、人气、专题推荐;首页轮播广告、活动专区配置;营销数据统计,活动效果查看。
4.1.5 权限与系统管理
RBAC 角色权限模型,新增后台操作员、自定义角色;分配菜单、接口操作权限;数据字典统一管理;系统参数配置、文件存储配置、日志查看。
4.1.6 内容与数据统计
管理首页推荐、帮助中心文章;全平台经营报表,商品销量、订单金额、会员增长可视化图表。
4.2 用户商城功能模块
面向普通消费者,实现完整线上购物全流程。
4.2.1 注册登录
手机号注册,JWT 令牌登录;修改密码、完善个人头像、收货地址。
4.2.2 商品浏览检索
首页轮播、分类导航、新品 / 秒杀专区;按价格、分类筛选商品;ES 全文关键词搜索;商品详情查看图文、规格参数、评价;收藏、加入购物车。
4.2.3 购物车与下单
购物车增删改、批量结算;选择收货地址、使用优惠券;生成订单、在线支付;查看订单进度、申请退货退款。
4.2.4 个人中心
我的订单(待付款 / 待发货 / 已完成 / 售后);我的收藏、浏览足迹;优惠券、积分查看;售后记录管理。
4.3 通用功能模块
4.3.1 文件上传下载
统一文件上传接口,商品图片、用户头像、附件存储至 MinIO/OSS;返回线上访问路径,支持预览下载。
4.3.2 数据字典
商品状态、订单状态、活动类型等枚举统一字典管理,后台修改无需改动业务代码,全局自动生效。
4.3.3 权限拦截
请求拦截器校验登录身份与角色权限,无权限访问直接拦截,保障后台数据安全。
4.3.4 异步与缓存
Redis 缓存热门商品、购物车,减轻数据库压力;RabbitMQ 异步处理订单消息、通知,提升系统并发能力。
项目安装和部署
5.1 数据库初始化
登录 MySQL 执行建库 SQL,指定 utf8mb4 字符集:
sql
CREATE DATABASE IF NOT EXISTS mall DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
执行项目提供初始化 SQL 脚本,自动创建全部业务数据表与测试基础数据,账号授予读写建表权限。
5.2 后端项目构建
后端使用 Maven 管理依赖,根目录执行打包命令:
bash
运行
# 清理、下载依赖、编译
mvn clean install
# 打包可执行Jar
mvn clean package -Dmaven.test.skip=true
5.3 前端项目构建
后台管理前端 mall-admin-web
bash
运行
cd mall-admin-web
npm install
npm run build
移动端商城 mall-app-web
bash
运行
cd mall-app-web
npm install
npm run build:h5
5.4 应用启动与运行
修改各模块application.yml,配置 MySQL、Redis、Elasticsearch 连接地址账号;
Jar 包启动命令:
bash
运行
# 启动后台管理服务
java -jar mall-admin/target/mall-admin.jar
# 启动前台商城服务
java -jar mall-portal/target/mall-portal.jar
# 启动搜索服务
java -jar mall-search/target/mall-search.jar
默认端口 8080,访问地址:
后台管理:http://localhost:8080/admin
PC 商城前台:http://localhost:8080/portal
H5 移动端商城:编译后 Nginx 部署访问
默认管理员账号 admin,首次登录建议修改密码。
这个系统实际效果图片展示
后台商品管理列表页面

移动端商城首页、商品详情、购物车界面

mall 整体系统架构流程图

商城业务模块分层图

这个源码适合的学习人群
项目工程分层清晰、注释完善、配套完整图文视频教程,适配四类人群:
Java 后端初级 / 中级开发工程师,学习电商分布式中间件实战
前后端分离开发学习者,掌握 Vue+SpringBoot 完整项目开发
计算机专业学生,毕设、课程设计优质商用级参考项目
电商行业开发从业者,快速搭建自营商城、二次开发拓展业务
这个项目源码获取
关注公众号,回复:商城系统 获取完整源码、部署文档、全套学习视频、在线演示地址。
夜雨聆风