finds.dev← search

// the find

macrozheng/mall-swarm

★ 13,029 · Java · Apache-2.0 · updated May 2026

mall-swarm是一套微服务商城系统,采用了 Spring Cloud Alibaba、Spring Boot 3.5、Sa-Token、MyBatis、Elasticsearch、Docker、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。

mall-swarm is a full e-commerce platform built as a Spring Cloud microservices system — product catalog, orders, promotions, member management, the works. It's primarily a learning project and reference implementation for Chinese developers studying Spring Cloud Alibaba, not something you'd fork and ship. The companion monorepo mall covers the same domain as a monolith; this is the distributed version.

The scope is genuinely impressive for a teaching project — separate services for auth, gateway, search, admin, and portal, each with its own config in Nacos, is the real microservices picture most tutorials skip. The documentation is thorough: full SQL schema, Docker Compose for both the app and its dependencies, K8s YAML for every service, and ELK stack config included. Sa-Token replacing the older Spring Security OAuth2 setup is a practical call — it's simpler and the migration shows the project is still actively maintained. Elasticsearch-backed product search is wired up end-to-end, not just mocked out.

The tech stack is firmly in the Alibaba ecosystem (Nacos, Seata, OSS) which creates a hard dependency on either Alibaba Cloud or running their OSS components yourself — you can't trivially swap in Consul or AWS without touching multiple services. MyBatisGenerator for the data layer means the generated code is verbose boilerplate; if the schema changes, regenerating it is painful and easy to get wrong. The frontend uses Vuex 3 + Vue 2 Options API (Element UI, not Element Plus), which is already end-of-life — the mobile storefront is Vue 2 with uni-app, same problem. No meaningful test coverage: the test directories exist but are essentially empty stubs, so you have no safety net if you try to adapt this for real use.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →