mallのストアと管理APIを分けて読む
モールトップは、Spring Boot + MyBatis をベースに、Docker コンテナ化配置を採用した、前台ショッピング城システムと後台管理システムを含む、一個の電子商取引システムです。フロント台商城システムには、トップページ、商品案内、商品検索、商品展示、商品車両、転送フロー、ミーティングセンター、ゲストサービス、ヘルプセンターなどのモジュールが含まれています。後台管理システムには、商品管理、契約管理、会議管理、促進管理、接続管理、コンテンツ管理、テーブル、金額管理、制限管理、設定等のモジュールが含まれる。
ひと目でわかる
- これは何?
- Spring Boot、MyBatis、Elasticsearchなどで構成されたJava製ECシステム。ストアと管理画面を同じリポジトリで扱う。
- 誰に向いている?
- Java系のEC学習や、ストアと管理APIの構成をまとめて検討したいチームには教材性があります。最初に `master` のJDK 17とSpring Boot 3.5、`dev-v2` のJDK 8とSpring Boot 2.7を分け、管理モジュールだけならMySQLとRedisで足りるというREADMEの条件を確認してください。
- 商用利用できる?
- できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。最後のコミットは 1 日前です。
- 何の言語で書かれている?
- 主に Java です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
ストアと管理画面の 2 つのアプリを 1 つのリポジトリに収める
mall リポジトリは Java 製の EC プロジェクトで、Spring Boot と MyBatis で構築され、Docker コンテナとしてデプロイされます。フロントストアシステムと管理システムの 2 つのアプリで構成され、フロントストアはホームポータル、商品レコメンド、商品検索、商品表示、カート、注文フロー、会員センター、カスタマーサービス、ヘルプセンターなどのモジュールを備えます。管理側は商品管理、注文管理、会員管理、プロモーション管理、運用管理、コンテンツ管理、統計レポート、財務管理、権限管理、設定などのモジュールを備えます。README は 2 つのブランチの違いも説明しています。master は Spring Boot 3.5 と JDK 17、dev-v2 は Spring Boot 2.7 と JDK 8 を使用します。
リポジトリ内の 7 つの Maven モジュール
ソースツリーは 7 つの Maven モジュールで構成されます。mall-common はユーティリティと共通コードを保持し、mall-mbg は MyBatisGenerator が生成したデータベース操作コードを含み、mall-security は Spring Security を共通モジュールとしてラップします。mall-admin は管理 API を公開し、mall-search は Elasticsearch ベースの商品検索を実装し、mall-portal はストア API を公開します。mall-demo にはフレームワーク構築時に書かれたテストコードが入っています。README は、独立したフロントエンドリポジトリである mall-admin-web と mall-app-web、および同じプロジェクトの Spring Cloud Alibaba マイクロサービス版である mall-swarm も挙げています。
バックエンド、フロントエンド、モバイルの技術選定
README が挙げるバックエンド技術は、Spring Boot、Spring Security、MyBatis と MyBatisGenerator、Elasticsearch、RabbitMQ、Redis、MongoDB、Logstash、Kibana、Nginx、Docker、Jenkins、Druid、Alibaba OSS と MinIO のオブジェクトストレージ、JWT、Lombok、Hutool、PageHelper、SpringDoc、Hibernator-Validator です。管理フロントエンドは Vue を中心に、Vue-router、Vuex、Element、Axios、v-charts、Js-cookie、nprogress を使います。モバイルフロントエンドは Vue と Vuex を使い、uni-app フレームワーク、mix-mall EC テンプレート、luch-request HTTP ライブラリを採用します。README は、どのコンポーネントがすべてのデプロイで必須かを説明していません。
開発環境と README に記載されたデプロイ手順
README は開発ツールとして、IDEA、RedisDesktop、Robomongo、SwitchHosts、X-shell、Navicat、PowerDesigner、Axure、MindMaster、ScreenToGif、ProcessOn、PicPick、Snipaste、Postman、Typora を列挙しています。開発環境のバージョンは、JDK 17、MySQL 5.7、Redis 7.0、MongoDB 5.0、RabbitMQ 3.10.5、Nginx 1.22、Elasticsearch 7.17.3、Logstash 7.17.3、Kibana 7.17.3 です。README は、mall-admin モジュールだけを起動する場合は MySQL と Redis のみで足りると述べています。Windows 環境、Docker コンテナ、Docker Compose、Jenkins を使った Linux 自動デプロイの各ガイドへのリンクがあり、具体的なコマンドは README に書かれていません。
デモサイトとドキュメントの場所
README には 2 つのオンラインデモへのリンクがあります。管理システムは https://www.macrozheng.com/admin/index.html、ストアは https://www.macrozheng.com/app/ で、ブラウザをモバイルモードに切り替えるよう推奨されています。ドキュメントサイトは https://www.macrozheng.com で、mall 学習チュートリアル、ビデオチュートリアル、デプロイ関連の記事を公開しています。README は WeChat の公式アカウント macrozheng に「加群」と返信すると WeChat グループに参加できると述べていますが、他のサポート窓口は記載していません。
リポジトリの状態とソースが示していないこと
リポジトリメタデータには、スター数 84,505、フォーク数 29,809、未解決 issue 18 件とあり、主要言語は Java、ライセンスは Apache-2.0 で、アーカイブされていません。既存の資料には、本番利用、性能ベンチマーク、セキュリティ保証、リリース履歴の記載はなく、これらは別途確認が必要です。README は 2 つのバージョン分岐ブランチを維持していることに触れていますが、コミット頻度や貢献者の情報はありません。
Apache License 2.0 の許諾範囲と限界
このプロジェクトは Apache License 2.0 でライセンスされ、著作権表記は 2018-2026 macrozheng を対象としています。ライセンスは、複製、派生作品の作成、公開表示、公開演奏、再許諾、頒布を認める、永続的で、全世界的、非独占的、無償、取消不能の著作権許諾を付与します。また、コントリビューションが単独または作品と組み合わせで必然的に侵害する特許請求の範囲に対する特許許諾も付与しますが、被許諾者が本作品またはコントリビューションが侵害するとして特許訴訟を提起した場合、その特許許諾は訴訟提起日に終了します。本記事が引用する抜粋は、保証、サポート、セキュリティ義務には触れていません。Apache 2.0 の完全な本文が抜粋外で扱う可能性はありますが、抜粋に含まれると主張することはできません。
mallを読むときは、画面の多さと実際に起動するモジュールを分けて考えると判断しやすくなります。READMEのフロントストアには商品検索、商品表示、カート、注文、会員、カスタマーサービスが並び、管理側には商品、注文、会員、販促、コンテンツ、統計、財務、権限、設定が並びます。しかし、これらは機能領域の一覧であり、各機能の受入条件や本番向けの容量を示すベンチマークではありません。バックエンドは `mall-common`、`mall-mbg`、`mall-security`、`mall-admin`、`mall-search`、`mall-portal`、`mall-demo` の7モジュールに分かれ、検索にはElasticsearch、非同期処理にはRabbitMQ、キャッシュにはRedisが挙げられています。管理APIだけを起動する場合にMySQLとRedisで足りるというREADMEの記載は、学習用の最初の切り分けに利用できます。masterとdev-v2ではJDKとSpring Bootの世代が違うため、IDEの設定や依存解決を混ぜないことが大切です。Docker、Compose、Jenkinsの手順はリンク先にあるため、READMEだけから運用コマンドを補うことはできません。商品、在庫、注文、権限のデータがどのサービスとストレージを通るか、ログとバックアップをどこへ置くかを、選んだブランチの設定ファイルで確定させてください。オンラインデモは画面確認には使えますが、ソースの再現性や安全性を示すものではありません。
編集部の結論
Java系のEC学習や、ストアと管理APIの構成をまとめて検討したいチームには教材性があります。最初に `master` のJDK 17とSpring Boot 3.5、`dev-v2` のJDK 8とSpring Boot 2.7を分け、管理モジュールだけならMySQLとRedisで足りるというREADMEの条件を確認してください。全サービスを本番へ持ち込む前に、必要なミドルウェア、認証、検索のデータ整合性を環境ごとに検証する必要があります。
コミュニティノート