Convert Figma logo to code with AI

Exrick logoxmall

基于SOA架构的分布式电商购物商城 前后端分离 前台商城:Vue全家桶 后台管理系统:Dubbo/SSM/Elasticsearch/Redis/MySQL/ActiveMQ/Shiro/Zookeeper等

7,142
2,553
7,142
38

Top Related Projects

77,204

mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

16,660

基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。

19,098

又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端

🔥 🎉newbee-mall是一套电商系统,包括基础版本(Spring Boot+Thymeleaf)、前后端分离版本(Spring Boot+Vue 3+Element-Plus+Vue-Router 4+Pinia+Vant 4) 、秒杀版本、Go语言版本、微服务版本(Spring Cloud Alibaba+Nacos+Sentinel+Seata+Spring Cloud Gateway+OpenFeign+ELK)。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。

spring cloud + vue + oAuth2.0全家桶实战,前后端分离模拟商城,完整的购物流程、后端运营平台,可以实现快速搭建企业级微服务项目。支持微信登录等三方登录。

ruoyi-vue-pro 全新 Cloud 版本,优化重构所有功能。基于 Spring Cloud Alibaba + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城、CRM、ERP、AI 大模型等功能。你的 ⭐️ Star ⭐️,是作者生发的动力!

Quick Overview

XMall is a comprehensive distributed e-commerce system based on SpringBoot and Dubbo. It features a front-end mall website, a back-end management system, and various microservices. The project aims to provide a complete solution for building and managing an online shopping platform.

Pros

  • Modular architecture with microservices, allowing for scalability and easier maintenance
  • Comprehensive feature set, including user management, product management, order processing, and payment integration
  • Utilizes popular and modern technologies such as SpringBoot, Dubbo, and Vue.js
  • Includes both front-end and back-end components, providing a complete e-commerce solution

Cons

  • Large and complex project, which may have a steep learning curve for beginners
  • Documentation is primarily in Chinese, which may be challenging for non-Chinese speakers
  • Some dependencies and technologies used may become outdated over time
  • Requires significant resources to deploy and run the entire system

Getting Started

To get started with XMall:

  1. Clone the repository:

    git clone https://github.com/Exrick/xmall.git
    
  2. Set up the required databases (MySQL, Redis, MongoDB) and configure the connection settings in the respective application.yml files.

  3. Build and run the individual microservices using Maven:

    cd xmall-manager-service
    mvn spring-boot:run
    
  4. Set up and run the front-end applications (xmall-front and xmall-admin) using npm:

    cd xmall-front
    npm install
    npm run dev
    
  5. Access the mall website at http://localhost:9999 and the admin panel at http://localhost:9999/admin.

For detailed instructions and configuration options, refer to the project's documentation (in Chinese) on the GitHub repository.

Competitor Comparisons

77,204

mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

Pros of mall

  • More comprehensive documentation and guides
  • Actively maintained with frequent updates
  • Larger community and more stars on GitHub

Cons of mall

  • More complex architecture, potentially steeper learning curve
  • Heavier resource requirements due to its comprehensive nature

Code Comparison

mall:

@Autowired
private UmsMemberService memberService;

@ApiOperation("获取验证码")
@GetMapping("/getAuthCode")
public CommonResult getAuthCode(@RequestParam String telephone) {
    return memberService.generateAuthCode(telephone);
}

xmall:

@Autowired
private UserService userService;

@RequestMapping(value = "/member/checkLogin",method = RequestMethod.GET)
@ResponseBody
public Result<Member> checkLogin(@RequestParam(defaultValue = "") String token){
    Member member = userService.getUserByToken(token);
    return new ResultUtil<Member>().setData(member);
}

Both projects use Spring Boot and similar annotation-based approaches. mall appears to have more detailed API documentation with Swagger annotations, while xmall uses a custom Result class for responses.

mall generally offers a more feature-rich and well-documented e-commerce solution, but may be overkill for simpler projects. xmall provides a lighter alternative with a focus on core e-commerce functionality, potentially easier to get started with for beginners or smaller-scale applications.

16,660

基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。

Pros of zheng

  • More comprehensive and modular architecture, covering a wider range of functionalities
  • Better documentation and detailed explanations for each module
  • Larger community and more frequent updates

Cons of zheng

  • Higher complexity, which may be overwhelming for beginners
  • Steeper learning curve due to its extensive feature set
  • Potentially more resource-intensive due to its comprehensive nature

Code Comparison

zheng:

@Service
@Transactional
@BaseService
public class UserServiceImpl extends BaseServiceImpl<UserMapper, User, UserExample> implements UserService {

    private static final Logger LOGGER = LoggerFactory.getLogger(UserServiceImpl.class);

    @Autowired
    UserMapper userMapper;

xmall:

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private TbUserMapper tbUserMapper;

    @Autowired
    private JedisClient jedisClient;

The code comparison shows that zheng uses a more structured approach with base classes and examples, while xmall has a simpler implementation. zheng also includes logging, which is not present in the xmall snippet.

Both projects are e-commerce platforms, but zheng offers a more extensive set of features and a modular design. xmall, on the other hand, provides a more straightforward implementation that may be easier for beginners to understand and customize. The choice between the two depends on the specific requirements of the project and the developer's experience level.

19,098

又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端

Pros of litemall

  • Simpler architecture and easier to understand for beginners
  • More focused on mobile e-commerce with a WeChat mini-program
  • Actively maintained with recent updates

Cons of litemall

  • Less comprehensive feature set compared to xmall
  • Smaller community and fewer contributors
  • Limited documentation and examples

Code Comparison

xmall (Java):

@RestController
@Api(tags = "Order Controller")
public class OrderController {
    @Autowired
    private OrderService orderService;

    @PostMapping("/create")
    public Result createOrder(@RequestBody Order order) {
        return orderService.createOrder(order);
    }
}

litemall (Java):

@RestController
@RequestMapping("/wx/order")
@Validated
public class WxOrderController {
    @Autowired
    private WxOrderService wxOrderService;

    @PostMapping("submit")
    public Object submit(@LoginUser Integer userId, @RequestBody WxOrderSubmitDTO dto) {
        return wxOrderService.submit(userId, dto);
    }
}

Both projects use Spring Boot for their backend, but litemall's code is more focused on WeChat integration, as seen in the WxOrderController class. xmall's code appears to be more generic and potentially more extensible for different types of e-commerce platforms.

🔥 🎉newbee-mall是一套电商系统,包括基础版本(Spring Boot+Thymeleaf)、前后端分离版本(Spring Boot+Vue 3+Element-Plus+Vue-Router 4+Pinia+Vant 4) 、秒杀版本、Go语言版本、微服务版本(Spring Cloud Alibaba+Nacos+Sentinel+Seata+Spring Cloud Gateway+OpenFeign+ELK)。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。

Pros of newbee-mall

  • More beginner-friendly with detailed documentation and setup instructions
  • Actively maintained with frequent updates and bug fixes
  • Includes a comprehensive admin dashboard for easy management

Cons of newbee-mall

  • Less feature-rich compared to xmall's extensive functionality
  • Smaller community and fewer third-party integrations
  • Limited customization options for advanced users

Code Comparison

newbee-mall:

@Autowired
private NewBeeMallCategoryService newBeeMallCategoryService;

@GetMapping("/categories")
public Result<List<NewBeeMallIndexCategoryVO>> getCategories() {
    List<NewBeeMallIndexCategoryVO> categories = newBeeMallCategoryService.getCategoriesForIndex();
    return ResultGenerator.genSuccessResult(categories);
}

xmall:

@Autowired
private ContentService contentService;

@RequestMapping(value="/recommend",method= RequestMethod.GET)
public Result<List<PanelDto>> getRecommendGoods(@RequestParam(defaultValue = "1") int type){
    List<PanelDto> list=contentService.getRecommendGoods(type);
    return new ResultUtil<List<PanelDto>>().setData(list);
}

Both projects use Spring Boot and follow similar MVC patterns. newbee-mall focuses on simplicity and readability, while xmall offers more complex features and customization options.

spring cloud + vue + oAuth2.0全家桶实战,前后端分离模拟商城,完整的购物流程、后端运营平台,可以实现快速搭建企业级微服务项目。支持微信登录等三方登录。

Pros of paascloud-master

  • More comprehensive microservices architecture, including service discovery and configuration management
  • Better documentation and detailed deployment instructions
  • Includes a front-end admin dashboard for easier management

Cons of paascloud-master

  • Higher complexity, which may be overkill for smaller projects
  • Steeper learning curve due to the more advanced architecture
  • Less active community and fewer contributors compared to xmall

Code Comparison

paascloud-master:

@EnableEurekaClient
@EnableFeignClients
@EnableHystrixDashboard
@EnableCircuitBreaker
@SpringBootApplication
public class PaasCloudCoreApplication {
    public static void main(String[] args) {
        SpringApplication.run(PaasCloudCoreApplication.class, args);
    }
}

xmall:

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class XmallApplication {
    public static void main(String[] args) {
        SpringApplication.run(XmallApplication.class, args);
    }
}

The code comparison shows that paascloud-master includes additional annotations for circuit breaking and hystrix dashboard, indicating a more robust microservices implementation. xmall has a simpler configuration, which may be easier to set up but offers fewer out-of-the-box features for distributed systems.

ruoyi-vue-pro 全新 Cloud 版本,优化重构所有功能。基于 Spring Cloud Alibaba + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城、CRM、ERP、AI 大模型等功能。你的 ⭐️ Star ⭐️,是作者生发的动力!

Pros of yudao-cloud

  • More comprehensive microservices architecture, suitable for large-scale enterprise applications
  • Extensive use of Spring Cloud components for better scalability and resilience
  • Incorporates advanced features like distributed transactions and service governance

Cons of yudao-cloud

  • Higher complexity and steeper learning curve compared to xmall
  • Potentially overkill for smaller projects or simpler e-commerce applications
  • Requires more resources and infrastructure to deploy and maintain

Code Comparison

yudao-cloud (using Spring Cloud):

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class YudaoAdminServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(YudaoAdminServerApplication.class, args);
    }
}

xmall (using Spring Boot):

@SpringBootApplication
public class XmallApplication {
    public static void main(String[] args) {
        SpringApplication.run(XmallApplication.class, args);
    }
}

The code comparison shows that yudao-cloud utilizes Spring Cloud annotations for service discovery and Feign clients, indicating its microservices-oriented architecture. In contrast, xmall uses a simpler Spring Boot setup, suitable for monolithic applications or smaller-scale projects.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

XMall

AUR GitHub stars GitHub forks

作者本科毕业设计项目 期待您的捐赠支持

X系列项目宣传视频

项目已部署,在线Demo

单体版获取

  • 单体XMall系统 非分布式 可跑在1g1核服务器上
  • 获取方式:进入商城 http://xmall.exrick.cn/ 登陆后随意测试支付商品 填写捐赠信息 支付成功后将自动发至您填写的邮箱

前台页面为基于Vue的独立项目 请跳转至 xmall-front 项目仓库查看

作者其他项目推荐

基于SOA架构的分布式购物电商商城

  • 后台管理系统:管理商品、订单、类目、商品规格属性、用户、权限、系统统计、系统日志以及前台内容等功能
  • 前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作
  • 会员系统:用户可以在该系统中查询已下的订单、管理订单、我的优惠券等信息
  • 订单系统:提供下单、查询订单、修改订单状态、定时处理订单
  • 搜索系统:提供商品的搜索功能
  • 单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息

v1.1更新日志(需更新前后台代码及SQL)

  • 接入自己开源的XPay个人免签收款支付系统
  • 更新Dubbo(2.6.1)、ES(6.2.3)等依赖版本
  • 取消ES需在页面中配置及跨域问题,ES默认配置集群名改为原elasticsearch
  • 修复后台统计热卖商品SQL错误,xmall-front-web模块支持SpringMVC文件上传配置
  • 修改金额字段类型优化SQL与备注
  • 优化后台页面 修复用户修改BUG 优化批量删除 优化商品分类添加
  • 重构首页,后台可配置,包括3D轮播图
  • 后台新增缓存管理功能菜单 完成订单打印发货等功能,实现快递管理
  • 增添订单统计报表
  • 修复前后端分离极验验证码session存储问题
  • 实现ES IK分词插件扩展词典库管理 增添限流
  • 2018.7.22 取消快速搜索接口需前端配置 发送邮件端口改为465
  • 2018.7.27 首页导航栏可后台配置
  • 2019.10.06 修复分类管理BUG 开源小程序前端
  • 注:SKU设计预计将在小程序后台实现
  • 极验验证码移除文档

项目架构及功能模块图

前端所用技术

  • 后台页面
    • 感谢 H-ui、FlatLab 提供静态页面支持
    • Ztree:jQuery树插件
    • DataTables:jQuery表格插件
    • Layer:web弹层组件
    • Distpicker:中国省市区地址三级联动插件
    • KindEditor:富文本编辑器 简洁方便 没UEditor那么多坑
    • WebUploader:百度文件上传插件
    • HighCharts:图表库
    • 不蒜子:极简网页计数器
  • 前台页面
    • 详情请跳转至 xmall-front 项目仓库
    • 感谢 yucccc 的开源 vue-mall 项目提供前端页面及框架支持
    • Vue2 + Vuex + Vue Router + Element UI + ES6 + webpack + axios + Node.js

后端所用技术

各框架依赖版本皆使用目前最新版本 可进入xmall-parent中 pom.xml 查看

文件说明

  • xmall 文件夹提供部分依赖与sql文件
    • xmall.sql:数据库文件
    • dubbo.xsd:需手动配置避免报错
    • redis-3.0.0.gem:Redis集群搭建所需Ruby库
  • generatorSqlmapCustom 文件夹为 Mybatis Generator 逆向生成工具,且已配置好maven插件

本地开发运行部署

  • 下载zip直接解压或安装git后执行克隆命令 git clone https://github.com/Exrick/xmall.git
  • 安装各中间件并启动:ZooKeeper、Redis、ActiveMQ、Elasticsearch
  • 修改各配置文件相应依赖IP配置(默认本地127.0.0.1),以及七牛云、极验配置、天气接口在 xmall-common - utils 中找到修改,XPay邮箱配置在 manager-service与sso-service 中
  • Maven安装和在IDEA中配置
  • 使用IDEA(破解/免费注册) File-Open 直接打开xmall项目,点击右下角 Import Changes 等待安装完依赖即可
  • MySQL数据库新建 xmall 数据库,运行sql文件,注意在有 db.properties 的模块中修改你的数据库连接配置
  • 按照依赖顺序分别在每个模块文件夹根目录执行 mvn install 命令
  • 项目需运行除 xmall-parent xmall-common 以外其它所有6个服务,且都已配置好Tomcat插件, 执行命令 mvn tomcat7:run 或在IDEA中使用插件(View - Tool Buttons - 右侧菜单Maven Projects - tomcat7 - tomcat7:run)运行即可,当然可自行配置
  • 后端管理系统默认端口8888 http://localhost:8888 管理员账密admin|123456
  • 前端项目接口默认端口7777 前台页面请启动基于Vue的 xmall-front 项目,并修改其接口配置

相关技术点说明

  • ES-IK分词插件词典库扩展

    • 详见 elasticsearch-analysis-ik插件作者项目README说明
    • 本项目中扩展接口和禁用词接口分别为 http://localhost:8888/getDictList 和 http://localhost:8888/getStopDictList,将以上2个接口配置进IK插件扩展配置文件{conf}/analysis-ik/config/IKAnalyzer.cfg.xml 或者 {plugins}/elasticsearch-analysis-ik-*/config/IKAnalyzer.cfg.xml中即可,示例:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
    <properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置远程扩展字典 -->
        <entry key="remote_ext_dict">http://localhost:8888/getDictList</entry>
        <!--用户可以在这里配置远程扩展停止词字典-->
        <entry key="remote_ext_stopwords">http://localhost:8888/getStopDictList</entry>
    </properties>
    
  • 限流

    • xmall-front-web 中已配置限流,配置文件 resource.properties 中可配置全局限流,示例:

      #启用全局限流
      xmall.rateLimit.enable=true
      #每1秒内
      xmall.rateLimit.timeout=1000
      #限制10个请求
      xmall.rateLimit.limit=10
      
    • 指定方法限流注解

      @RateLimiter(limit = 1, timeout = 5000)
      
    • 支持多维度IP、uid等限流 详见代码

技术疑问交流

  • QQ交流群 475743731(付费),可获取各项目详细图文文档、xmall毕设PPT

  • 免费交流群 562962309

  • 作者博客:http://blog.exrick.cn

商用授权

  • 个人学习使用遵循GPL开源协议
  • 商用需联系作者低价授权

捐èµ