CRMEB: A ThinkPHP 6 Multi-Channel Mall With 20+ Built-In Marketing Modules
CRMEB is a free, open-source, multilingual e-commerce system built on the ThinkPHP6 framework, commercially usable. Includes a mini-program store, H5 store, official-account store, PC store and app, supporting distribution, group-buying, bargaining, flash sales, coupons, points, membership tiers, mini-program live streaming and page DIY. Front-end and back-end are separated for easy secondary development, with detailed usage docs, API docs, a data dictionary, and dev guides/video tutorials.
At a glance
- What is it?
- CRMEB is an Apache-2.0 PHP e-commerce system that runs a single storefront across mini programs, H5, app, PC and official accounts. It ships a large marketing engine and a drag-and-drop page builder, and it is the wrong tool if you want a small, single-purpose shop.
- Who is it for?
- CRMEB fits teams that need one storefront across WeChat mini program, H5, app and PC, and that will accept a ThinkPHP 6 plus UniApp stack in exchange for ready-made group buying, coupons and a drag-and-drop page builder. It does not fit a project that only needs a catalog and checkout, because you would carry the full marketing surface for nothing.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Vue, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.
Star history
- crmeb/CRMEB9,474 ★ · +110
| Repository | 2026-09-22 | 2026-11-13 |
|---|---|---|
| crmeb/CRMEB | 9.4k | 9.5k |
110 Stars in the last 52 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
One Backend, Five Storefronts: The Problem CRMEB Targets
Most small commerce teams end up running the same catalog in several places. A WeChat mini program for discovery, an H5 page for links shared in chat, an app for repeat buyers, a PC site for desktop traffic. Each channel usually means its own admin, its own order table, and its own reconciliation problem.
CRMEB's stated answer is a single ThinkPHP 6 backend that centrally manages data across all platforms, with a front end built on UniApp and ElementUI and a front-end/back-end separation so the same API serves every client. The README lists official accounts, mini programs, H5, app and PC as supported ends, and describes real-time data interoperability between them.
The intended user is a merchant or a small agency that wants a working mall rather than a framework to build one from. The README is explicit that the code is 100% open source under Apache-2.0 and can be used commercially at no cost. That framing matters: CRMEB is competing with commercial mall licences, not with a minimal PHP cart library.
The secondary audience is developers doing secondary development. The README points to interface documentation, a data dictionary and secondary-development documents and video tutorials, and the repository ships a help/ directory alongside the crmeb/ application code and a template/ directory for front-end themes.
How the ThinkPHP 6 Backend and UniApp Front End Fit Together
The architecture is a conventional front-end/back-end split. The crmeb/ directory holds the server application on ThinkPHP 6. The template/ directory holds the client-side code, and GitHub reports Vue as the repository's primary language, which matches a management console built from Vue components rather than server-rendered pages.
Data flows one way: every channel calls the same HTTP API exposed by the ThinkPHP application, and the backend owns orders, members, coupons and campaign state. That is why the README can claim data interoperability instead of synchronization. There is no per-channel database to reconcile.
The marketing modules are described as native rather than plugin-based. The README lists group buying, price slashing, flash sales, coupons, points, live streaming sales, paid memberships, tiered memberships, user recharge, distribution, channel codes and new user gifts, and says activity rules can be customized without plugins. The practical consequence is that campaign logic lives inside the same codebase you deploy, so upgrading the core can change campaign behaviour.
The page builder is the other load-bearing piece. The README describes a drag-and-drop home page builder aimed at merchants without a technical background, plus a theme market where a theme package can be imported in one click and the system then completes component matching and data mounting. Themes carry page layout and global colour scheme, which means a theme import can overwrite your home page structure.
Installing CRMEB and Getting a First Storefront Running
For a quick trial, the README gives a Docker one-click command, `docker run -d --name crmeb -p 8080:80 ccr.ccs.tencentyun.com/crmebky_php/crmebky:latest`, which serves the site at http://localhost:8080 and the admin at http://localhost:8080/admin, with details in help/docker/docker.md. For a full install, it links to the help documentation at doc.crmeb.com/single_open and to an online demo at v6.crmeb.net/admin/, and the repository contains a file named 安装必读.docx (read before installing) at the top level. Treat that document and the help site as the installation source, not this article.
To get the source, clone the repository:
git clone https://github.com/crmeb/CRMEB.git
cd CRMEB
lsWhat you should see at the top level is crmeb/, help/, template/, LICENSE, README.md, README_ZH.md and the installation readme. If crmeb/ or template/ is missing, you have the wrong archive.
The README gives no composer or npm invocation. The safe first move is to read the bundled installation document and follow the help site for your PHP and database versions. The demo at v6.crmeb.net/admin/ is the fastest way to see what the admin console looks like before you commit to a server, and the plugin and theme markets at crmeb.com are where the README says additional themes come from.
Where CRMEB Strains: Campaign Coupling and the 240 MB Surface
The marketing engine is the selling point and also the main source of upgrade risk. Because the README says the 20+ modules are native and rules can be customized without plugins, campaign logic is not isolated behind a stable extension boundary. A change to core order or pricing code can alter how flash sales or group buying behave, and you will not find a plugin version to pin.
Theme imports are a second sharp edge. The README describes one-click import that completes component matching and data mounting automatically. Convenient, but it means a theme can restructure your home page and global colour scheme in a single action. Take a database and file backup before importing a theme.
Finally, this is the wrong tool for a narrow shop. If you sell a handful of SKUs and need a catalog plus checkout, CRMEB makes you carry distribution, tiered memberships, live streaming and channel codes you will never configure. The maintenance burden scales with the feature list, not with your catalog.
CRMEB Against ShopXO, Niushop, Likeshop and Mall4j
CRMEB is often weighed against other mall systems, so the comparison is worth stating plainly.
ShopXO, Niushop and Likeshop are the closest neighbours in the same PHP mall category. The difference that CRMEB's README emphasizes is the breadth of native marketing: group buying, price slashing, flash sales, coupons, points, live streaming sales, paid and tiered memberships, recharge, distribution, channel codes and new user gifts are described as built in rather than added through plugins. If you compare licences, note that CRMEB states Apache-2.0 with commercial use at no cost, and check each alternative's own licence rather than assuming parity.
Mall4j and other Java malls point at a different axis. CRMEB's open-source PHP edition is ThinkPHP 6; a Java-based mall is a different runtime, a different hiring pool and a different deployment shape. If your team is a Java shop, the language mismatch is a bigger decision than any feature table.
The honest summary is that CRMEB's differentiator is scope, not elegance. It gives you a lot of commerce behaviour out of the box, and in return you accept a large PHP codebase and campaign logic that is not cleanly separable from the core.
Licence, Maintenance and the Upgrade Bill
The repository is licensed Apache-2.0 and the README states the code can be used commercially at no cost without hidden fees or functional restrictions. Apache-2.0 is a permissive licence with an explicit patent grant, which is generally friendlier for commercial redistribution than copyleft terms. This is a description of the licence text, not legal advice; if you plan to redistribute a modified CRMEB or ship it inside a product, have your own counsel read the LICENSE file at the repository root.
The maintenance signal is mixed and worth reading carefully. The repository is not archived, and the last push was on 2026-10-28, which is recent. Releases, however, are spaced out: v6.0.0 landed on 2026-04-11, v5.6.3.1 on 2026-01-23, and v5.6.1 on 2025-06-09. So the master branch moves while tagged releases arrive roughly a few times a year. If you deploy from a tag rather than from master, plan for that cadence.
Upgrade cost is the real line item. A native marketing engine plus a theme system means upgrades touch campaign logic and page structure together. Budget for a staging copy of the database before any version bump.
Editorial conclusion
CRMEB fits teams that need one storefront across WeChat mini program, H5, app and PC, and that will accept a ThinkPHP 6 plus UniApp stack in exchange for ready-made group buying, coupons and a drag-and-drop page builder. It does not fit a project that only needs a catalog and checkout, because you would carry the full marketing surface for nothing. Before adopting it, verify three things in the repository: that the download contains the crmeb/ backend and template/ front end you expect, that the Apache-2.0 LICENSE file matches how you intend to redistribute, and that the help/ directory and the installation readme cover your PHP and database versions. The README points to doc.crmeb.com for setup, and that is where deployment questions belong.
Frequently asked questions
What is CRMEB and what technology stack does it use?
CRMEB is an open-source multi-channel mall system licensed under Apache-2.0. The README states it is built on ThinkPHP 6 with ElementUI and UniApp, with a front-end/back-end separated design that serves mini program, H5, app, PC and official account clients from one backend.
Can I use CRMEB commercially for free?
The README says the code is 100% open source, licensed under Apache-2.0, and can be used commercially at no cost without hidden fees or functional restrictions. The repository includes a LICENSE file at the top level, which is the document to read for the actual terms.
How do I install CRMEB?
For a quick trial the README gives a Docker command, docker run -d --name crmeb -p 8080:80 ccr.ccs.tencentyun.com/crmebky_php/crmebky:latest, with details in help/docker/docker.md. For a full install it links to the help documentation at doc.crmeb.com/single_open, and the repository ships a file named 安装必读.docx at the top level. Follow those rather than improvising commands.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/crmeb-crmeb)Star history chart for your README
[](https://hysenlabs.com/projects/crmeb-crmeb)Was this useful?