40K+Star!Mall电商实战项目开源,附源码、教程合集

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000 次 1年
简介: 最近看了下我的Github,发现mall项目已经突破40K+Star,有点小激动!记得去年8月的时候mall项目刚过20K+Star,时隔1年多已经增长到了40K+Star。今天跟大家聊聊mall项目的发展历程,希望对大家有所启发!

最近看了下我的Github,发现mall项目已经突破40K+Star,有点小激动!记得去年8月的时候mall项目刚过20K+Star,时隔1年多已经增长到了40K+Star。今天跟大家聊聊mall项目的发展历程,希望对大家有所启发!

最近情况

Github上面有个Java Topic排行榜,mall项目目前排在第9位,有很多小伙伴早就发现了,这里附上地址:
https://github.com/topics/java

发展历程

最初的20K+Star

为什么要写mall项目?打造一个业务与技术相结合的实战项目!

2018年初的时候一度想找个业务与技术相结合的开源项目学习下,但是一直没有找到合适的,于是萌生了自己写一个的想法。总感觉一个项目要是缺少了业务和应用场景,就好像没有了灵魂。于是业务选择了比较好理解的电商,技术选择了流行的SpringBoot。历时1年多,2019年8月的时候mall项目累计获得了20K+Star

SpringCloud系列教程

当项目发展到一定程度,总会去寻找一些新的突破,于是我想把mall项目改造成微服务版本。在Java体系中,Spring Cloud基本成了微服务的标准。于是就想先研究下整套Spring Cloud组件,然后再进行改造。在研究过程中写下了一套涵盖大部署核心组件使用的系列教程,就是springcloud-learning这个项目,目前获得了2.2K+Star。

mall-swarm微服务项目

掌握了整套Spring Cloud核心组件之后,接下来就是对mall项目进行微服务改造。经过一段时候的打磨,mall-swarm项目在2019年12月发布了第一个版本。最近mall-swarm项目又进行了一次重大更新,升级至Spring Cloud Hoxton & Alibaba,使用Nacos取代了原来的注册中心Eureka和配置中心Spring Cloud Config,使用Oauth2取代了原来Spring Security实现的权限功能,目前看来是最合理的Spring Cloud技术栈了。

mall更新完善

mall项目这一年更新了很多内容,这里挑重点的回顾下!

  • 之前一直使用的Linux部署方式有主要有Docker和Docker Compose两种,后来加入了Jenkins自动化部署,方便生产环境使用。
  • 有很多朋友反馈OSS对象存储需要花钱,于是加入了自行搭建的MinIO对象存储方案,不过生产环境还是推荐使用OSS,毕竟服务器带宽还是很贵的!
  • 一直需求很大的权限管理功能实现了,之前一直使用的基于注解的权限控制,升级为了动态权限控制,前端和后台都有了!
  • 商品SKU功能设计与优化,抛弃了之前固化的设计,改成了灵活的JSON存储。
  • 整合了ELK日志收集系统,采用分场景收集日志的方案,适合生产环境使用,查看日志更方便!
  • 最近升级了SpringBoot 2.3.0,使用的各种技术版本又焕然一新了!

mall-tiny快速开发脚手架

mall-tiny之前是一个继承了mall完整技术栈的项目骨架,我感觉它依赖服务太多,过于复杂了。这次我把它重新定位为一个快速开发脚手架,化繁为简,只保留了最常用的依赖服务MySQL和Redis。而且实现了完整的权限管理功能,可对接mall-admin-web前端项目,秒变权限管理系统!

mall-admin-web前端项目

mall-admin-web前端项目主要是增加了权限管理功能,这里提示下mall、mall-swarm、mall-tiny项目都可以无缝对接该项目,是不是很通用!

mall-learning学习项目

mall-learning项目在mall项目的发展历程中,一直贯彻始终。拥有完善的学习教程,这可能是mall项目和其他开源项目很大的不同之处,mall-learning项目是专门为mall项目打造的学习教程项目,包含了丰富的文档和示例代码。我一直使用这样的方式来更新项目,首先学习新技术,在mall-learning中写相关教程,也算是一直技术调研吧,之后技术合适的话就运用到mall项目中去。感觉这种方式还是很不错的,既深入学习了新技术,又得到了实际的应用,大家学习新技术的时候也可以尝试下。

未来展望

感觉mall项目发展至今,已经不单单是一个开源项目,它已经发展出了自己的生态系统,可以称之为mall系列生态了。mall项目接下来还是会持续更新的,争取打造更好的实战型学习项目!

项目地址、源码地址、教程合集

Mall电商实战项目开源系列感兴趣的朋友可以点击此处来获取就可以了!

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
相关文章
|
SDN 网络虚拟化 网络架构
在单交换机局域网中,不同网段的主机通信探秘🌐
在理解局域网中不同网段主机之间的通信之前,我们首先要明白网络的基本组成和工作原理。局域网(LAN)是一个封闭的网络环境,通常由交换机(Switch)作为核心设备连接网络中的各个主机。当我们谈论不同网段的主机时,实质上是在讨论它们配置的IP地址属于不同的IP地址范围。现在,**假设我们有两台主机(主机A和主机B),它们连接到同一个交换机,但配置在不同的网段上。问题来了:这两台主机能够直接通信吗**?🤔
在单交换机局域网中,不同网段的主机通信探秘🌐
|
存储 Java
java对两个字符串进行比较,分别取出重复和不重复的。
java对两个字符串进行比较,分别取出重复和不重复的。
389 0
|
前端开发 Java 数据库连接
热门开源项目推荐~商城系统mall项目详细介绍
热门开源项目推荐~商城系统mall项目详细介绍
WK
|
10月前
|
C++ 开发者
QPushButton
QPushButton 是 Qt 框架中的一个控件,用于创建可按压的按钮。它可以作为独立控件或嵌入其他窗口中,常用于添加按钮并绑定点击信号。支持设置文本、图标、快捷键等属性,可通过样式表自定义外观。示例代码展示了如何创建带有图标的按钮并连接点击信号。
WK
298 1
|
Java 数据格式 微服务
2024最新首发,全网最全 Spring Boot 学习宝典(附思维导图)
📚 《滚雪球学Spring Boot》是由CSDN博主bug菌创作的全面Spring Boot教程。作者是全栈开发专家,在多个技术社区如CSDN、掘金、InfoQ、51CTO等担任博客专家,并拥有超过20万的全网粉丝。该教程分为入门篇和进阶篇,每篇包含详细的教学步骤,涵盖Spring Boot的基础和高级主题。
1020 4
2024最新首发,全网最全 Spring Boot 学习宝典(附思维导图)
|
JSON 小程序 JavaScript
超详细微信小程序开发学习笔记,看完你也可以动手做微信小程序项目
这篇文章是一份全面的微信小程序开发学习笔记,涵盖了从小程序介绍、环境搭建、项目创建、开发者工具使用、文件结构、配置文件、模板语法、事件绑定、样式规范、组件使用、自定义组件开发到小程序生命周期管理等多个方面的详细教程和指南。
|
监控 Devops jenkins
DevOps实践:持续集成与持续部署(CI/CD)的实现
【8月更文挑战第28天】本文将深入探讨DevOps文化的核心组成部分——持续集成(CI)和持续部署(CD)。通过实际案例,我们将学习如何利用工具和策略来自动化软件开发流程,提高效率,确保代码质量和快速迭代。你将了解从零开始构建CI/CD流程的具体步骤,以及如何克服常见障碍。
|
NoSQL Redis 数据安全/隐私保护
macos系统中redis如何设置密码
以上步骤应该可以帮助你在macOS系统的Redis服务中设置密码,确保你的数据存储更加安全。此外,确保你定期检查Redis安全性相关的最佳实践和更新,以保持你的服务安全可靠。
819 3
|
安全 算法 Java
Java Stream API:原理、应用与深入解析
Java Stream API:原理、应用与深入解析
522 2
|
Kubernetes Java 微服务
使用Spring Boot构建微服务架构
使用Spring Boot构建微服务架构