// the find
macrozheng/mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于Spring Boot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
mall is a full-stack Java e-commerce platform with a Spring Boot backend and Vue frontend, covering the usual suspects: product catalog, orders, promotions, member management, and an admin dashboard. It's primarily a learning project — the author sells accompanying video tutorials and documentation — so it's optimized for being understandable, not for being production-ready at scale. Chinese developers looking for a Spring Boot reference implementation will find it immediately useful.
The module separation is honest and navigable — mall-admin, mall-portal, mall-search, mall-security are distinct without being over-engineered. The tech stack is mainstream Java: Spring Boot 3.5 / JDK 17 on master, MyBatis with explicit XML mappers (no magic), Spring Security for auth, Elasticsearch for search — nothing exotic that will bite you when hiring. Docker Compose files for both the app and all infrastructure dependencies (MySQL, Redis, MongoDB, RabbitMQ, ES) mean you can get the whole thing running locally in one command. The Postman collection and PowerDesigner schema files are genuinely useful artifacts most tutorial projects skip.
MyBatisGenerator-produced code in mall-mbg means a significant chunk of the data layer is generated boilerplate — any schema change requires re-running the generator and reconciling diffs, which gets tedious fast. The test coverage is minimal: one PmsDaoTests file visible, no meaningful service-layer or integration tests, which undermines using this as a production baseline. The stack includes MySQL 5.7 (EOL since October 2023) in the documented dev environment, which is a quiet liability. MongoDB is used but its role isn't clearly differentiated from MySQL — it ends up feeling like a technology demonstration rather than a justified architectural choice.