Repolode
macrozheng

macrozheng/mall

A full-stack e-commerce system with a storefront and an admin backend, built on Spring Boot and MyBatis and deployable with Docker.

Open-source alternative to:Shopify

Stars
85,009
Forks
29,830
Open issues
17
Last commit
2 months ago

What is it?

mall is an e-commerce system that includes a customer-facing storefront and an admin back office. It is built on Spring Boot and MyBatis and is designed to be deployed with Docker containers.

The storefront covers a home portal, product recommendations, search, product detail pages, shopping cart, order flow, member center, customer service and a help center. The admin system manages products, orders, members, promotions, operations, content, reports, finance, permissions and settings.

The backend is split into modules for common utilities, MyBatis-generated data access code, Spring Security wrappers, admin APIs, Elasticsearch-based product search, and portal APIs. Supporting components include Redis, RabbitMQ, MongoDB, MySQL, Elasticsearch with the ELK stack, and MinIO for file storage.

Key features

  • 01Storefront modules for browsing, search, cart, checkout and member center
  • 02Admin modules for products, orders, members, promotions and reports
  • 03Spring Security for authentication and authorization
  • 04Elasticsearch-powered product search service
  • 05Docker and Docker Compose deployment guides, plus Jenkins automation

Use cases

  • Learning how a complete e-commerce backend is structured with Spring Boot
  • Starting point for building a custom online store with an admin console
  • Reference for integrating Elasticsearch search and RabbitMQ into a Java web app

Quick start

  1. 1

    Set up the development environment with JDK 17, MySQL 5.7 and Redis 7.0 (the minimum for mall-admin)

  2. 2

    Follow the README's Docker deployment guide to deploy the project with Docker

Things to know

  • The full system needs many services, including Elasticsearch, RabbitMQ, MongoDB and Redis, on top of MySQL.
  • The admin and storefront frontends are separate repositories that must be set up on their own.
  • The master branch requires JDK 17 and Spring Boot 3.5, while dev-v2 targets JDK 8 and Spring Boot 2.7.

Topics

FAQ

What is mall?
A full-stack e-commerce system with a storefront and an admin backend, built on Spring Boot and MyBatis and deployable with Docker. mall is an e-commerce system that includes a customer-facing storefront and an admin back office. It is built on Spring Boot and MyBatis and is designed to be deployed with Docker containers.
Is mall free to use? What license does it have?
mall is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is mall still maintained?
Updated within 6 months. The last commit to mall was on Sep 15, 2026.
What can I use mall for?
Learning how a complete e-commerce backend is structured with Spring Boot Starting point for building a custom online store with an admin console Reference for integrating Elasticsearch search and RabbitMQ into a Java web app
How do I install mall?
Set up the development environment with JDK 17, MySQL 5.7 and Redis 7.0 (the minimum for mall-admin) Follow the README's Docker deployment guide to deploy the project with Docker
Where can I get mall?
The source code and installation instructions are on GitHub: https://github.com/macrozheng/mall

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects