yshopmall ships a full mall in three modules, and its nginx steps live in a chat group
yshop基于当前流行技术组合的前后端分离B2C单商户、B2B2C多商户商城系统: SpringBoot3+MybatisPlus+SpringSecurity+jwt+redis+Vue的前后端分离的商城系统, 包含商城、sku、运费模板、素材库、拼团、商户管理、 秒杀、优惠券、积分、分销、会员、充值、多门店等功能
At a glance
- What is it?
- yshopmall is a Java and Vue commerce system with an admin console, a mobile client and a broad feature set, released under Apache-2.0. The code is thorough, but parts of the production deployment are documented only in a QQ group.
- Who is it for?
- Adopt yshopmall if you want a working B2C or multi merchant shop skeleton and you intend to write the commerce logic yourself, since the modules cover products, orders, marketing, WeChat and membership out of the box. Do not adopt it if your team cannot absorb a Spring Boot plus Vue plus uniapp codebase, and treat the Docker and nginx steps as a starting point rather than a deployment guide.
- 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 received new commits within the last day.
- 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 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Three modules make up the whole system
yshop is a front end and back end separated commerce system built on a combination of current popular technologies, and the project describes it as covering both B2C with a single merchant and B2B2C with multiple merchants, with multi tenant among the listed capabilities. The repository is split into three sibling directories, and that split is the clearest thing to understand before anything else. yshop-mall-boot is the Java project, yshop-mall-vue is the admin front end project, and yshop-mall-uniapp is the uniapp project, supporting mini programs and h5. The admin console and the storefront client are therefore separate code bases with separate build pipelines, which is why the installation instructions are also split into three sections. The audience is developers who want a functioning shop to rebrand and extend rather than a library to embed: the feature set is broad enough that most teams would spend months writing the same modules from nothing.
Spring Boot 3 with MyBatis-Plus, Spring Security and JWT
The documented technology selection is listed explicitly. On the server side the project names SpringBoot 3.4.3, mybatis and MyBatis-Plus, SpringSecurity, Druid, Slf4j, Fastjson, JWT, Redis, Quartz, Mysql, swagger, WxJava, Lombok and Hutool. On the client side it names the Vue family of tooling, Element and uniapp. Reading that list tells you what the architecture is built from: MyBatis-Plus handles the persistence layer above MySQL, Spring Security plus JWT carries authentication, Druid is the connection pool, Quartz is the scheduler that a shop with flash sales and coupons needs for timed jobs, and WxJava is the WeChat integration behind the official account features. Two entries in that list deserve a note from an operations point of view rather than a development one. Fastjson has a history of deserialization issues in older versions, and Quartz plus Redis together mean two pieces of stateful infrastructure to keep running. The project also ships swagger, so the API surface is self documenting.
The Java side needs JDK 17, MySQL 5.7, Redis and Maven
The documented environment for local work is a specific list: JDK 17, Redis 3.0+, Maven 3.0+, MySQL 5.7+, and Node v8+, with Idea, hbuilder and vscode named as the development tools. The order of operations for the Java project is given as well. Start Redis and make sure it is running, open yshop-mall-boot in Idea, let it resolve dependencies, then import the database and configure the development database and Redis connection details, which the documentation locates in configuration files inside the project. The build step is a Maven install from the parent pom.xml, either by typing `mvn clean install` or through the IDE. Then the application is started. The database import step matters more than it sounds: this is a system with its own schema for products, orders, coupons and members, and the SQL is part of the repository rather than something the application creates on first run.
The admin console ships a published default password
The Vue admin project has its own short procedure. Open yshop-mall-vue in vscode, run `cnpm install` or `yarn install` from the project directory, then run `npm run dev`, and the console prints a banner that the documentation treats as the sign of a successful start. The browser address is then opened and the login is admin with the password 123456. That credential pair is published in the project documentation, which means every deployment that ships it inherits a known administrator password until someone changes it. The same paragraph also shows the documentation's age, recommending node8 or node10 for this front end even though the server side requires JDK 17. The mobile client is simpler still: open yshop-mall-uniapp in hbuilder, run `npm install`, and run it, with the module described as supporting mini programs and h5 from the same source.
Docker deployment is directories, a compose file and one image build
The Docker section is the most concrete part of the deployment documentation, and it is worth following exactly because the order matters. First a directory is created to hold the third party service compose file:
mkdir -p /yshop/softA docker-compose.yml is then created inside it:
vim /yshop/soft/docker-compose.ymlThe mount directories that the compose file refers to have to exist before it is started, one for MySQL data, one for Redis data and one for Redis configuration:
mkdir -p /yshop/mysql/data /yshop/redis/data /yshop/redis/confAnd the Redis configuration file is created as an empty file that you then edit:
touch /yshop/redis/conf/redis.confAfter that the reference files in the docker folder at the root of the repository are used: the software services are started with `docker-compose up -d` and inspected with `docker ps -a`, and the application image is built from the docker/applicatiion directory after the jar has been packaged. The build command is:
docker build -t yshop-admin . Note the directory name spelled applicatiion in the repository path, and note that the jar must already exist, since the Docker step only wraps a build artefact.
The feature map is wide and the written documentation is thin
The module list in the documentation is broad: a product module covering product creation, specification setting and listing or delisting; an order module covering ordering, cart, payment, shipping, receipt, reviews and refunds; a marketing module covering points, coupons, distribution, group buying, flash sales and multiple stores; a WeChat module covering custom menus, automatic replies, WeChat authorisation, image and text management and template message push; a configuration module; and a user module covering login, registration, membership cards and recharge. That breadth is the commercial argument for the project and also its cost, because every one of those modules is code someone has to read before trusting it. The thin part is elsewhere. For the nginx deployment of the Java side, the documentation says to configure nginx and then points at the QQ group for the video tutorial, and it does the same for the Vue side nginx configuration after `npm run build:prod` and uploading the dist directory. The group number is given. That means a real part of production setup lives outside the repository, which is the main practical risk in adopting this system.
What the credits reveal about the alternative
The project lists its acknowledgements, and they are informative: eladmin, MyBatis-Plus, Hutool, WxJava, Vue and Element. eladmin is the closest thing to an alternative approach, because it is the admin system this project builds on, and the difference is what each one gives you. eladmin is an admin backend template: authentication, menus, roles, code generation, a Vue and Element interface, without commerce behaviour. yshopmall starts from that kind of admin foundation and adds the shop domain on top, products with multiple specifications, shipping templates, an image asset library, group buying, flash sales, coupons, points, distribution, membership, recharge and multiple stores, plus a uniapp client for mini programs and h5. So the choice is between a template you extend with a commerce domain yourself and a commerce domain you inherit and then clean up. Licensing points the same way. The project is released under the Apache License 2.0, with a LICENSE file at the repository root, and the usage notes allow personal study and commercial use provided you follow the agreement and credit the source when you open source it again.
Editorial conclusion
Adopt yshopmall if you want a working B2C or multi merchant shop skeleton and you intend to write the commerce logic yourself, since the modules cover products, orders, marketing, WeChat and membership out of the box. Do not adopt it if your team cannot absorb a Spring Boot plus Vue plus uniapp codebase, and treat the Docker and nginx steps as a starting point rather than a deployment guide. Before you start, confirm your JDK 17, MySQL 5.7, Redis 3.0 and Maven toolchain, replace the published admin/123456 credentials, and check whether the nginx configuration you need exists in the repository or only in the project QQ group.
Frequently asked questions
What does it take to run yshopmall locally?
The documented environment is JDK 17, Redis 3.0+, Maven 3.0+, MySQL 5.7+ and Node v8+, with Idea, hbuilder and vscode as the tools. You import the database, configure the MySQL and Redis connection details, build with `mvn clean install` from the parent pom.xml, and start the application.
Which repositories are in the yshopmall project?
There are three: yshop-mall-boot for the Java project, yshop-mall-vue for the admin front end and yshop-mall-uniapp for the uniapp client that supports mini programs and h5. The documentation lists them in the repository under exactly these three names.
How do I deploy yshopmall with Docker?
Create /yshop/soft for the compose file, add a docker-compose.yml there, create the /yshop/mysql/data, /yshop/redis/data and /yshop/redis/conf mount directories plus an empty redis.conf, then start the services with `docker-compose up -d`. After packaging the jar, run `docker build -t yshop-admin .` from the Dockerfile directory referenced in the repository.
What licence is yshopmall released under?
The project is listed under the Apache License 2.0 with a LICENSE file at the repository root. The usage notes state that personal study, thesis work and commercial use are allowed provided you follow the agreement, and that you must credit the source if you release it again as open source.
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-yshopmall)Was this useful?