// the find
gz-yami/mall4j
⭐️⭐️⭐️ 电商商城 小程序电商商城系统 PC商城 H5商城 APP商城 Java商城 O2O商城 跨境商城
Mall4j is a B2C e-commerce platform for the Chinese market built on Spring Boot 4 + MyBatis Plus + Redis, with a WeChat miniprogram frontend (vanilla WXML and UniApp/Vue3). It covers the full shopping flow: product catalog with SKU variants, cart, orders, shipping templates, coupons, and basic member management. Aimed at small-to-medium businesses that want a self-hosted store they can run without deep framework expertise.
The SKU and order flow design is thoughtful — the doc folder has explicit schema diagrams showing how product variants, cart state, and order transitions are modeled, which is rare for open-source commerce projects. Replacing Spring OAuth2 with sa-token is a pragmatic call; sa-token is lighter and better documented for this use case. The project has kept pace with deprecations: Vue2 → Vue3 and Spring Boot 3 → 4 migrations are both complete. Distributed lock support via Redisson and XSS defense are present from the start, not bolted on later.
AGPLv3 licensing is a dealbreaker for most commercial deployments — anything you ship based on this requires open-sourcing your entire application, which is why the project exists: to funnel you toward their paid commercial edition. The open-source version explicitly omits marketing/promotions (flash sales, group buys), which are table stakes for any real Chinese e-commerce deployment. The project is primarily documented in Chinese with docs hosted on Kancloud and Gitee wikis, making it hard to evaluate depth of coverage without reading those separately. No test suite visible in the tree — zero automated tests in an e-commerce system handling payment flows and inventory is a significant operational risk.