菜单

Mall 电商系统介绍

相关源文件

概述与目的

Mall 是一个全面的电子商务系统,包含前端客户门户和后端管理功能。Mall 基于现代技术栈,采用微服务启发的架构,为在线零售业务提供完整的解决方案。

本文档提供了对 Mall 电子商务系统、其架构、组件和技术栈的高层次介绍。它作为开发人员了解系统整体结构和设计原则的切入点。

来源: README.md23-31

系统架构概览

Mall 采用模块化架构,将关注点分离到不同的服务中。该系统旨在可扩展、可维护,并遵循行业最佳实践。

高级架构图

来源: README.md116-124 pom.xml58-91

模块结构

Mall 系统结构包含多个相互关联的模块,每个模块都负责特定的功能。这种模块化设计促进了代码重用、可维护性和关注点分离。

模块组织图

来源: README.md52-62 pom.xml12-20

模块说明

  1. mall-common: 包含跨多个模块使用的工具类、通用组件和共享代码。提供 API 结果包装器、通用异常和实用方法等基础功能。

  2. mall-mbg: 包含 MyBatis Generator 生成的数据库操作代码。包括实体类、Mapper 和 ORM 的 XML 映射文件。

  3. mall-security: 封装 Spring Security 配置,提供基于 JWT 的身份验证和授权服务。

  4. mall-admin: 后端管理 API,提供产品、订单、用户、角色、权限等管理功能。供管理后台 Web 界面使用。

  5. mall-portal: 前端面向客户的 API,支持购物车、订单、用户账户、产品浏览等功能。供客户 Web 和移动端界面使用。

  6. mall-search: 基于 Elasticsearch 的产品搜索服务,提供高级搜索功能,包括全文搜索和过滤搜索。

  7. mall-demo: 包含框架开发过程中使用的演示和测试代码。

  8. mall-admin-web: 基于 Vue 的管理后台用户界面,用于后台操作。

  9. mall-app-web: 基于 Vue 的面向客户的 Web 应用程序,用于购物和账户管理。

来源: README.md127-138 pom.xml95-112 mall-admin/pom.xml1-49 mall-portal/pom.xml1-67 mall-search/pom.xml1-50 mall-common/pom.xml1-51 mall-demo/pom.xml1-48 mall-mbg/pom.xml1-42

技术栈

Mall 利用一套全面的现代技术栈来提供强大的电子商务解决方案。

后端技术

技术目的实现
Spring Boot应用框架所有后端服务的核心框架
Spring Security认证与授权与 JWT 集成,用于安全的 API 访问
MyBatisORM 框架所有模块的数据库访问
MyBatis Generator代码生成从数据库模式生成数据访问代码
Elasticsearch搜索引擎支持产品搜索功能
RabbitMQ消息队列订单和通知的异步处理
Redis缓存和会话存储性能优化和分布式会话
MongoDB文档存储存储复杂数据,如产品推荐
MySQL关系型数据库结构化信息的首要数据存储
Docker容器平台服务的部署和扩展
MinIO/OSS对象存储存储产品图片和其他媒体文件
JWT身份验证无状态身份验证机制
Logstash & Kibana日志记录集中式日志收集和可视化
SwaggerAPI 文档自动生成的 API 文档

来源: README.md66-91 pom.xml29-56 pom.xml94-201

前端技术

技术目的实现
Vue前端框架Web 应用程序的核心 UI 框架
Vue Router客户端路由单页应用程序中的导航
Vuex状态管理前端全局状态管理
Element UI组件库管理后台界面的 UI 组件
AxiosHTTP 客户端API 通信
uni-app移动框架跨平台移动应用程序开发

来源: README.md94-114

核心业务领域

Mall 系统涵盖了几个核心业务领域,它们协同工作,提供完整的电子商务体验。

领域交互图

来源: README.md129-135

订单处理流程

Mall 中的订单处理遵循一个全面的工作流程,确保库存管理、支付处理和订单履行。

来源: README.md129-135 mall-portal/pom.xml44-49

部署

Mall 支持使用 Docker 容器进行部署,便于设置和扩展。该项目包含所有组件的 Docker 配置。

部署架构

来源: README.md189-195 pom.xml212-255 document/reference/docker.md1-98

快速入门

要设置 Mall 进行开发,您需要安装所需的依赖项并配置必要的服务。

先决条件

  • JDK 1.8
  • MySQL 5.7
  • Redis 7.0
  • MongoDB 5.0
  • RabbitMQ 3.10.5
  • Nginx 1.22
  • Elasticsearch 7.17.3
  • Node.js 和 npm(用于前端开发)

可以在 Windows、Linux 上或使用 Docker 容器设置开发环境。详细的设置说明可以在项目文档中找到。

运行应用程序

可以使用 Maven 或您的 IDE 单独启动每个模块

  1. 启动 mall-admin:运行 com.macro.mall.MallAdminApplication
  2. 启动 mall-search:运行 com.macro.mall.search.MallSearchApplication (需要从 Elasticsearch 导入数据)
  3. 启动 mall-portal:运行 com.macro.mall.portal.MallPortalApplication

API 文档可通过 Swagger UI 访问

来源:README.md166-179 document/reference/deploy-windows.md90-105

结论

Mall 是一个功能丰富的电子商务系统,采用模块化、可扩展的架构。它为客户和管理员提供全面的功能,并有单独的前端和后端组件。该系统构建于 Spring Boot、MyBatis、Redis 和 Elasticsearch 等现代技术之上,提供高性能和可靠性。

有关特定模块或功能的更详细信息,请参阅本文档的其他部分

来源:README.md23-31 README.md52-62