yshop-crm: a Spring Boot 3 and Vue 3 CRM whose pipeline is leads to payments
yshop-crm意象CRM系统(支持企业微信),专门为企业销售团队量身定制的工具(且支持多租户与SCRM企业微信),全面解决企业销售团队的全流程客户服务难题旨在助力企业销售全流程精细化、数字化管理,全面解决企业销售团绩。
At a glance
- What is it?
- yshop-crm is a MIT licensed Chinese CRM system for sales teams, with a Spring Boot 3 and MyBatis Plus backend, a Vue 3 admin front end, a uni-app mobile client and Enterprise WeChat integration. It ships as two directories and a SQL file, with no GitHub releases and no container images described.
- Who is it for?
- yshop-crm fits a sales organisation that wants a full lead to payment pipeline in one deployable system, with an Enterprise WeChat channel and a mobile client alongside the admin console, and that is comfortable running a Chinese component stack.
- Can I use it commercially?
- Yes. MIT 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 8 days ago.
- What is it written in?
- Mainly Java, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The pipeline is the product, and it is a specific seven stages
yshop-crm positions itself around a stated sequence, and that sequence is the clearest statement of what the software expects a sales team to do:
lead, customer, opportunity, contract, payment collection, project.
The intent, in the project's own framing, is to activate customer resources, quantify sales behaviour, allocate resources sensibly, cover sales and project coordination, and build a workable sales system. The scope named alongside it is sales teams, project management, SCRM, and Enterprise WeChat collaboration.
The module list follows that sequence closely. Customers covers leads, customers, opportunities, contracts and invoices, plus tags, a call centre, SCRM Enterprise WeChat group messaging, custom fields, and visit check-in. Projects covers project management, project tasks, project documents, project activity and task logs. Data covers performance targets, individual performance, customer grading, source and industry, follow-up analysis and contract rankings. Office covers approvals, process management, schedule management, notification management and work reports.
Two modules sit outside a CRM's usual shape. A mall module covers product categories, specifications, listings and payment configuration, and a public account module covers follower management and template messages. Those exist to support a company that sells physical goods as well as services, and they widen the schema well beyond contacts and deals.
Two directories, one SQL file, five prerequisites
The repository is small at the top level: `assets/`, `LICENSE`, `README.md`, `yshop-crm/` for the Java backend and `yshop-crm-vue/` for the Vue 3 admin front end.
The documented environment table is specific: JDK 17, MySQL 8, Redis 6 or newer, Node.js 16 or newer, and Maven 3.8 or newer. Development uses IDEA for the backend and VS Code for the front end.
The startup sequence is four steps, and one of them is a detail that trips people up. You open the Java project in IDEA so dependencies resolve, create a database and import `sql/yshop-crm.sql` from the project directory, then edit the yml configuration under `yshop-server` for the database and Redis connection. The build is:
mvn clean install package '-Dmaven.test.skip=true'Skipping tests in the packaging command is the documented instruction, which tells you the test suite is not a gate on producing a jar.
The front end is separate. You open `yshop-crm-vue` in VS Code, run `pnpm install`, configure the API address, then start the dev server:
npm run devNote the two package managers in five lines: pnpm installs, npm runs the script. That works because pnpm materialises the binaries npm-style, but it is a small inconsistency to keep in mind when a hook or a script assumes one of them.
The stack, and the projects it is assembled from
Backend: Spring Boot 3, Spring Security OAuth2, MyBatis and MyBatis Plus, Redis, Lombok and Hutool. Front end: Vue 3, Element Plus and uni-app on Vue 3 for mobile. The repository description also names JWT in the stack line.
The acknowledgements section is unusually informative for a project of this size, because it says where the pieces came from. The acknowledgements section credits `ruoyi-vue-pro` first. So the permission model, the code generator, the department and role tables and much of the admin scaffolding are inherited rather than original.
The acknowledgements section also credits `pay-java-parent`.
The licensing note is also worth reading precisely. The project states it uses the MIT License, links to that licence, and adds that it is more permissive than Apache 2.0, that individuals and companies may use it free of charge, and that retaining an author name or copyright notice is not required. That is a claim about the licence's terms rather than about the upstream templates it builds on, so the upstream licences are a separate question to check.
Multi-tenant and SCRM are named but not documented
The repository description claims multi-tenancy and Enterprise WeChat SCRM support, and the feature list mentions SCRM Enterprise WeChat group messaging. The README's module table does not describe how tenancy is configured, and there is no section on tenant isolation, on data migration between tenants, or on what a tenant can see.
That gap matters more than usual for a CRM, because the data is customer and revenue data. A multi-tenant design has to answer where tenant identity comes from, whether it is a column filter, a separate schema or a separate database, and how background jobs and caches respect it. Redis is in the stack and Redis is exactly where a missing tenant key becomes a data leak rather than an error.
The same applies to the Enterprise WeChat side. `userid` mapping, webhook verification and message signature handling are the details that decide whether an integration is safe, and none of them appear in the README.
Neither of these is a reason to reject the project. They are reasons to read the source before pointing a real customer list at it, and to treat the feature list as a claim to verify rather than a specification.
Deployment, releases and where the documentation actually is
What the README does not contain is as informative as what it does.
There is no Dockerfile, no docker-compose file, no Kubernetes manifests and no nginx configuration in the repository listing, only `assets/`, `LICENSE`, `README.md` and the two project directories. There is also no GitHub release history, so the version is not visible from the tags, and the last push was on 2026-10-15.
So deployment is on you. The stack implies a conventional arrangement, a Spring Boot service, a MySQL instance, a Redis instance, static assets for the Vue build, and TLS in front, but the repository does not prescribe it.
There is a public demo at `https://www.yixiang.co/p/yixiangcrmxitong.html` linked from the README, and the project site is `https://www.yixiang.co/`. The README also states that video tutorials and development documentation are shared in a QQ group, number 544263002, and asks for a GitHub star before joining. That is a reasonable arrangement for a volunteer-run project of this size, and it does mean the substantive documentation is not in the repository.
One more detail for anyone evaluating commercially. The README presents a paid secondary development and customisation contact alongside the free project, and the video section frames continued free maintenance in terms of stars. Both are ordinary signals that this is a small team's project rather than a foundation-run one, which is relevant context for how quickly a security issue in a customer-data system would be addressed.
Editorial conclusion
yshop-crm fits a sales organisation that wants a full lead to payment pipeline in one deployable system, with an Enterprise WeChat channel and a mobile client alongside the admin console, and that is comfortable running a Chinese component stack. It does not fit a team that needs container images, a documented deployment path or a release history, since none of those are described, and the module set is broad enough that a partial adoption means removing code rather than enabling features. Verify first that `sql/yshop-crm.sql` imports cleanly into MySQL 8 and that `mvn clean install package '-Dmaven.test.skip=true'` completes on JDK 17, then check the seeded roles and permissions before inviting real sales data in.
Frequently asked questions
What is yshop-crm?
An MIT licensed Chinese CRM system for sales teams, built on Spring Boot 3 and Vue 3 with MySQL, Redis, MyBatis Plus and Enterprise WeChat integration, covering the pipeline from lead to customer, opportunity, contract, payment and project.
What do I need to run yshop-crm locally?
JDK 17, MySQL 8, Redis 6 or newer, Node.js 16 or newer and Maven 3.8 or newer. Import `sql/yshop-crm.sql`, set the database and Redis values in the yml under `yshop-server`, then build.
How do I build the yshop-crm backend and start the front end?
Run `mvn clean install package '-Dmaven.test.skip=true'` in the backend directory, and in `yshop-crm-vue` run `pnpm install`, configure the API address, then `npm run dev`.
What is in the yshop-crm repository?
Two project directories, `yshop-crm` for the Java backend and `yshop-crm-vue` for the Vue 3 admin front end, plus assets, the licence and the README. There is no Dockerfile or compose file in the repository listing.
What licence is yshop-crm released under?
MIT, stated in the README as more permissive than Apache 2.0, with the licence file in the repository. The project also credits ruoyi-vue-pro and pay-java-parent, whose own terms are separate.
Does yshop-crm support mobile and Enterprise WeChat?
The feature list includes a uni-app mobile client, a public account module with follower management and template messages, and SCRM Enterprise WeChat group messaging. The README does not document how multi-tenancy or the WeChat integration are configured.
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/guchengwuyue-yshop-crm)Was this useful?