Abstract

Recently I checked my Github and found that the Mall project has exceeded 40K+Star. I was a little excited! I remember that the MALL project was just over 20K+Star in August last year, but it has grown to 40K+Star after more than a year. Today, I would like to talk to you about the development of mall project, hoping to inspire you!

The recent situation

There is a list of Java Topic on Github, mall project is currently ranked 9th, many friends have found it long ago, here is the address: github.com/topics/java

The development course

The original 20 k + Star

Why the Mall project? To create a business and technology combined with actual combat project!

At the beginning of 2018, I once wanted to study in an open source project combining business and technology, but I failed to find a suitable one, so I came up with the idea of writing one myself. It always feels like a project without business and application scenarios has no soul. So the business chose a better understanding of the e-commerce, technology to choose the popular SpringBoot. In August 2019, mall project accumulated 20K+Star. Before that, I wrote an article “My Github Open Source Project, From 0 to 20000 Star”. , summarized the development process of the project in that year, if you are interested, you can see.

SpringCloud series of tutorials

When the project develops to a certain extent, it always looks for some new breakthroughs, so I want to transform the Mall project into a micro-service version. In the Java architecture, Spring Cloud has basically become the standard for microservices. I wanted to look at the entire Spring Cloud component first and then adapt it. In the research process, I wrote a series of tutorials covering the use of core components of large-scale deployment, namely the project SpringCloud-Learning, which has received 2.2k +Star.

Mall – Swarm micro service project

After mastering the whole set of Spring Cloud core components, the next step is to carry out microservice transformation of mall project. After some polishing, the First version of the Mall Swarm project was released in December 2019. Recently, the Mall-Swarm project received another major update to Spring Cloud Hoxton & Alibaba, replacing the original registry Eureka and configuration center Spring Cloud Config with Nacos. The use of Oauth2 replaces the original Spring Security implementation of the permissions function, so far seems to be the most reasonable Spring Cloud stack.

Mall updated and improved

Mall project has updated a lot of content this year. Here are some highlights to review!

  • There are several main Linux deployments that have been used beforeDockerandDocker ComposeTwo, later addedJenkinsAutomatic deployment facilitates use in production environments.
  • There was a lot of feedback from friendsOSSObject storage costs money, so we added our ownMinIOObject storage solution, but the production environment is still recommended to use OSS, after all, server bandwidth is very expensive!
  • Has been a lot of demand for permission management function to achieve, previously has been using annotation-based permission control, upgrade to dynamic permission control, front-end and back-end have!
  • Product SKU function design and optimization, abandoned the previous solidified design, into a flexible JSON storage.
  • Integrated ELK log collection system, using different scenarios to collect logs, suitable for production environment, easy to view logs!
  • With a recent upgrade to SpringBoot 2.3.0, the various technology versions used are completely new again!

Mall-tiny quickly develops scaffolding

Mall – Tiny was a skeleton project that inherited Mall’s entire technology stack and I felt it was too service-dependent and complex. This time I repositioned it as a rapid development scaffolding, simplifying the complexity and keeping only the most commonly used dependency services MySQL and Redis. And to achieve a complete rights management function, can be connected to the mall-admin- Web front-end project, second change rights management system!

Mall – Admin – Web front-end project

The mall- admin-Web front-end project is mainly to increase the permission management function, here tips mall, mall-swarm, mall-tiny projects can be seamlessly connected to this project, is not very common!

Mall – Learning learning program

The Mall – Learning project has been implemented throughout the development of mall project. Having a complete learning tutorial is probably one of the major differences between the Mall project and other open source projects. The Mall – Learning project is a learning tutorial project specifically designed for the Mall project, with rich documentation and sample code. I have been updating the project in this way. First, I learn new technologies, write relevant tutorials in Mall Learning, and conduct technical research. Then, if the technologies are appropriate, I will apply them to mall project. I feel this way is still very good, not only in-depth study of the new technology, but also got the practical application, we can also try new technology when learning.

future

So far, the Mall project has not only been an open source project, but has developed its own ecosystem, which can be called mall ecosystem. The MALL project will continue to update in the future, and strive to create a better practical learning project!

The project address

  • mallE-commerce actual combat projects:Github.com/macrozheng/…
  • mall-swarmMicro service e-commerce Project:Github.com/macrozheng/…
  • mall-admin-webFront-end projects:Github.com/macrozheng/…
  • mall-learningStudy course projects:Github.com/macrozheng/…
  • springcloud-learningStudy Program:Github.com/macrozheng/…
  • mall-tinyRapid development of scaffolding:Github.com/macrozheng/…